Formatarea afișării datelor din baza de date în PHP

Deja știți cum să obțineți date din baza de date. Să afișăm acum aceste date, formatându-le cu tag-uri.

De exemplu, înregistrările din tabelul nostru de test users le vom afișa în următoarea formă:

html<p>
  <b>user1</b>
  <b>23</b>
  <b>400</b>
</p>
<p>
  <b>user2</b>
  <b>24</b>
  <b>500</b>
</p>
<p>
  <b>user3</b>
  <b>25</b>
  <b>600</b>
</p>

Pentru început, să obținem un array cu înregistrările din baza noastră de date:

php<?php
  $query = "SELECT * FROM users";
  $result = mysqli_query($link, $query) or die(mysqli_error($link));
  for ($data = []; $row = mysqli_fetch_assoc($result); $data[] = $row);
?>

Să afișăm acum datele din array-ul nostru în format aranjat:

html<?php
  $result = '';
  
  foreach ($data as $elem) {
    $result .= '<p>';
    
    $result .= '<b>' . $elem['name'] . '</b>';
    $result .= '<b>' . $elem['age'] . '</b>';
    $result .= '<b>' . $elem['salary'] . '</b>';
    
    $result .= '</p>';
  }
  
  echo $result;
?>

Se poate rescrie și în următoarea formă:

html<?php foreach ($data as $elem): ?>
  <p>
    <b><?= $elem['name'] ?></b>
    <b><?= $elem['age'] ?></b>
    <b><?= $elem['salary'] ?></b>
  </p>
<?php endforeach; ?>
Задание 1

Afișați înregistrările din tabelul nostru în următoarea formă:

html<div>
  <h2>user1</h2>
  <p>
    23 de ani, <b>400$</b>
  </p>
</div>
<div>
  <h2>user2</h2>
  <p>
    24 de ani, <b>500$</b>
  </p>
</div>
<div>
  <h2>user3</h2>
  <p>
    25 de ani, <b>600$</b>
  </p>
</div>
Задание 2

Afișați înregistrările din tabelul nostru în următoarea formă:

html<table>
  <tr>
    <th>id</th>
    <th>name</th>
    <th>age</th>
    <th>salary</th>
  </tr>
  <tr>
    <td>1</td>
    <td>user1</td>
    <td>23</td>
    <td>400</td>
  </tr>
  <tr>
    <td>2</td>
    <td>user2</td>
    <td>25</td>
    <td>500</td>
  </tr>
  <tr>
    <td>3</td>
    <td>user3</td>
    <td>23</td>
    <td>500</td>
  </tr>
</table>
Задание 3

Afișați înregistrările din tabelul nostru în următoarea formă:

html<ul>
  <li>user1</li>
  <li>user2</li>
  <li>user3</li>
</ul>