@m4f1

Как правильно вывести данные из масиива?

Нужно вывести все данные из БД в виде html таблицы с полями id url date view
Пример:
id url date view
1 адрес дата 3
2 адрес дата 99

Строк может быть неограниченное количество. Использую webasyst cms

$last_view = $model -> query("SELECT * FROM `w3m_404urls` WHERE `views` >= 3")->fetchAll();

foreach ($last_view as $key => $value) {
                         //echo 	"$key - $value.</br>";
                         printf ("%s (%s)\n", $last_view[0], $last_view[1]);
                     }


Внутри $last_view (выдает при дампе)
array (size=3)
  0 => 
    array (size=5)
      'id' => string '1' (length=1)
      'url' => string '' (length=96)
      'corr_url' => string '' (length=91)
      'date' => string '2019-11-12 00:19:03' (length=19)
      'views' => string '26' (length=2)
  1 => 
    array (size=5)
      'id' => string '4' (length=1)
      'url' => string '' (length=152)
      'corr_url' => string '' (length=0)
      'date' => string '2019-11-13 00:13:01' (length=19)
      'views' => string '165' (length=3)
  2 => 
    array (size=5)
      'id' => string '5' (length=1)
      'url' => string '' (length=82)
      'corr_url' => string '' (length=0)
      'date' => string '2019-11-13 01:17:09' (length=19)
      'views' => string '44' (length=2)
  • Вопрос задан
  • 147 просмотров
Решения вопроса 1
DevMan
@DevMan
выводит всегда только одну строчку
a чего вы ожидали, используя fetchRow вместо fetchAll ?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
<?php
$last_view = $model -> query("SELECT * FROM `w3m_404urls` WHERE `views` >= 3");
while($row = $last_view->fetch_assoc())
{
    echo "<tr>
        <td>{$row['id']}</td>
        <td>{$row['url']}</td>
        <td>{$row['date']}</td>
        <td>{$row['view']}</td>
    </tr>";
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы