[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql_fetch_row() во вложенных циклах
JoseUB
Помогите, пожалуйста! Всю голову сломал))) В общем, есть такой код:

$query = "SELECT color FROM plakat";
$res = mysql_query($query);
$row = mysql_fetch_row($res);
$project_number=1;
for($i=0; $i<10; $i++)
{
print "<tr height='80px'>";
for ($k=0; $k<16; $k++)
{ print "<td id='main_cell' style='background-color:#{$row[0]}' width='6.25%'>$project_number</td>"; $project_number++; $j++;}
print "</td>";
}


То есть, в каждую ячейку в качестве цвета фона подставляется значение из базы $row[0].
Если бы там был один цикл, достаточно было бы параллельно запустить при каждой итерации очередное обращение к mysql_fetch_row($res). А реализуемо ли это во вложенных циклах?



Спустя 46 минут, 49 секунд (3.07.2011 - 13:42) kovaldm написал(а):
Что должно получиться на выходе?

Спустя 18 минут, 37 секунд (3.07.2011 - 14:00) JoseUB написал(а):
Должна получиться таблица, в данном случае 16х10. Цветом фона каждой i-й ячейки будет значение цвета вида #ffffff, взятое из базы. То есть, там будет 160 записей и каждое значение подставляется при отрисовке очередной ячейки.

Спустя 2 минуты, 4 секунды (3.07.2011 - 14:02) waldicom написал(а):
Может надо выводить $row[$i] или $row[$k]? Иначе где смысл?
Я правильно понимаю, что на выходе должна быть таблица цветов?
А вообще внешний цикл возможно лучше делать через while, тогда в нем и считывать строку в $row

Спустя 1 час, 12 минут, 13 секунд (3.07.2011 - 15:15) JoseUB написал(а):
Тут как получается. Запрос выдаёт результат в массиве. Но тут я не разберусь, в чём суть этого массива. Для того, чтобы вывести все значения, полученные в результате запроса, надо в цикле обращаться к элементу $row[0] до тех пор, пока mysql_fetch_row является true. Попытка оперировать массивом $row, как двумерным, т.е., обращения к элементам типа $row[0][0], $row[0][1], $row[1][0], $row[1][1] ничего не даёт...
В другом проекте, при выводе в таблицу результатов запроса, я делал так (примерно):

while ($row = mysql_fetch_array($result))
{
print $row[0];
}

и всё работало. А вот во вложенном цикле не получается - хоть убей. Сейчас буду while ковырять)))

Спустя 1 час, 40 минут, 25 секунд (3.07.2011 - 16:55) kristall написал(а):
Строчку
$row = mysql_fetch_row($res);


перенеси внутрь вложенного цикла

Спустя 1 час, 34 минуты, 38 секунд (3.07.2011 - 18:30) JoseUB написал(а):
Спасибо всем за помощь! kristall - отдельное спасибо, помогло!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.