Tokishu
@Tokishu
Что?

Как сделать вывод юзеров из бд?

Я хочу сделать вывод всех пользователей из бд.
И вот у меня есть код:

$result_set = $mysqli->query('SELECT * FROM users');
while ($row = $result_set->fetch_assoc()) {
    foreach($row as $v=>$k) {
        echo $k.'
    : '.$v.'<br>';
    }   
  }
  $result_set->close();
  $mysqli->close();

Так вот, как мне вытащить что-то одно, к примеру только ID и куда-то вставить, к примеру сюда распределить:

<tr>
<td>id</td>
<td>Что-то еще...</td>
<td>Что-то еще...</td>
<td>Что-то еще...</td>
<td>Что-то еще...</td>
</tr>
  • Вопрос задан
  • 255 просмотров
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Делаем загадочные движения руками, незаметно меняем тег br на td и... Магия!
foreach($row as $v) {
    echo "<td>$v</td>";
}


Но на самом деле обычно так не делают, и действительно вытаскивают "что-то одно". Попутно разделяя работу с SQL и HTML и защищаясь от инъекцй. Для этого:

  • сначала получаем нужные на странице данные. Если выводим список, то записываем его в массив
  • только после того как все данные получены и обработаны, можно начинать вывод. В простейшем варианте закрываем тег РНР и начинаем выводить HTML и в нужных местах - запрошенные выше данные
  • не забывая их в обязательном порядке экранировать

$data = $mysqli->query('SELECT * FROM users')->fetch_all(MYSQLI_ASSOC);
?>
<table>
  <?php foreach($data as $row): ?>
    <tr>
        <td><?=htmlspecialchars($row['id'], ENT_QUOTES) ?></td>
        <td><?=htmlspecialchars($row['name'], ENT_QUOTES) ?></td>
        <td><?=htmlspecialchars($row['email'], ENT_QUOTES) ?></td>
    </tr>
  <?php endforeach ?>
</table>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
17 мая 2024, в 11:52
2500 руб./за проект
17 мая 2024, в 11:41
15000 руб./за проект
17 мая 2024, в 11:07
30000 руб./за проект