Вывод строк массива из бд в php

программирование php MySQL базы данных

$q = "SELECT * FROM Categories ORDER BY Name" or die("Error " . mysqli_error($db));
if ($result = mysqli_query($db, $q)) {
echo "<table width=80% border=0>\n<tr><td width=50%>";
for ($i = 0; $i < count($result)/2; $i++)
$row[$i] = mysqli_fetch_array($result, MYSQLI_NUM);
echo "<a href=\"index.php?CID=".$row[$i][0]."\">".$row[$i][1]."</a><br>";
for (; $i < count($result)/2; $i++)
echo "<a href=\"index.php?CID=".$row[$i][0]."\">".$row[$i][1]."</a><br>";

Никак не могу разобраться... В таблице 2 столбца CID и Name, нужно вывести все значения в 2 столбца, где-то на мелочи остановился и не могу никак втупить, раньше с mysqli не работал... Пробовал через data_seek вывести, не вышло. Думаю, тут нужен fetch_array

Примечание:
написал не совсем то, что хотел... $row[0] - id должен быть после index.php?CID=, 2е поле - текст ссылки. Ссылки нужно разместить в 2 столбца. Часть по html уже есть, не работает только этот цикл

Примечание:
slo_nik прежде чем называть что-то бредом стоило дочитать до конца. Как я и писал раньше я работаю через модуль mysqli, а не mysql. Так же я писал раньше, что не работает ЦИКЛ, что-то я сделал не так, но 1 значение выводит, первое в списке по Name.

Примечание:
$q = "SELECT * FROM Categories ORDER BY Name" or die("Error " . mysqli_error($db));
if ($result = mysqli_query($db,$q)) {
while ($row = mysqli_fetch_row($result)){
echo "<table width=80% border=0>\n<tr><td width=50%>";
echo "<a href=\"index.php?CID=".$row[0]."\">".$row[1]."</a><br>";
echo "</td>\n<td valign=top>\n";
/* echo "<a href=\"index.php?CID=".$row[0]."\">".$row[1]."</a><br>"; */
echo "</td>\n</tr>\n</table></center>\n";
}
};

так все работает, сейчас тут цикл с постусловием. а как будет цикл с параметром(for)

Примечание:
<?php
$q = mysql_query("SELECT * FROM Categories ORDER BY Name",$db) or die (mysql_error());
$k = 0;
$result = array();
while ($row = mysql_fetch_assoc($q)) {
$result[$k++] = $row;
};

for ($i = 0; $i < $k / 2; $i++)

echo "<a href=\"index.php?CID=".$result[$i]['CID']."\">".$result[$i]['Name']."</a><br>";

for (; $i < $k; $i++)

echo "<a href=\"index.php?CID=".$result[$i]['CID']."\">".$result[$i]['Name']."</a><br>";

?>

нужно тоже самое, только с использованием модуля mysqli, а не mysql

Примечание:
решил попробовать объектно-ориентированный стиль и случайно решил проблему)

<?php
include("cfg\connect.php");
$query = "SELECT * FROM Categories ORDER BY cid";
$i=0;
if ($result = $sql->query($query)){
while ($row[$i] = $result->fetch_row()) {
$i++;
}
};
if (!$i) {
printf ('<h1>пусто</h1>');
}
else {
for ($i=0, $k=count($row); $i<$k/2; $i++) {
printf('<a href="index.php?cid=%d">%s</a><br>',$row[$i][0],$row[$i][1]);
}
for (; $i<$k; $i++){
printf('<a href="index.php?cid=%d">%s</a><br>',$row[$i][0],$row[$i][1]);
}
$result->close();
}
$sql->close();
?>
Ответы:
и не будет работать...
я  саму задачу пока и не понял
тебе нужно две строки в одну ячейку оформить
нарисуй в ворде и сбрось скрин


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.