Делаю список юзеров в форме таблицы, и столкнулся с тем, что
mysqli_fetch_array
разбивает только одну строку (первую).
Как задаю:
$users = mysqli_query($db, "SELECT * FROM `users`");
$users_count = mysqli_num_rows($users);
$users_rows = mysqli_fetch_array($users);
Как пробовал выводить:
for ($i=0; $i<$users_count; $i++) {
echo "
<tr>
<td>$users_rows[id][$i]</td>
<td>$users_rows[Login][$i]</td>
<td>$users_rows[Email][$i]</td>
<td>$users_rows[Active_On][$i]</td>
<td>$users_rows[Active_Off][$i]</td>
<td>$users_rows[Company][$i]</td>
</tr>";
} // будет выдавать первую строку со значениями $i в виде текста
Как правильно вывести все строки?
Функция mysqli_fetch_array вытаскивает из результата только одну строку. Чтобы вытащить следующие нужно повторно вызвать mysqli_fetch_array. Просто внесите строку
$users_rows = mysqli_fetch_array($users);
внутрь цикла.
$users = mysqli_query($db, "SELECT * FROM `users`");
while($users_rows = mysqli_fetch_array($users)){
echo "
<tr>
<td>$users_rows[id][$i]</td>
<td>$users_rows[Login][$i]</td>
<td>$users_rows[Email][$i]</td>
<td>$users_rows[Active_On][$i]</td>
<td>$users_rows[Active_Off][$i]</td>
<td>$users_rows[Company][$i]</td>
</tr>";
}
Почитайте все же внимательно о циклах в php и постарайтесь определить какой использовать и в каком случае!
Используйте функцию print_r($var) для того чтобы видеть всю структуру данных.
notice: в вашем случае будет пригодным цикл while
while($users_rows = mysqli_fetch_array($users))
{
//...
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости