Вывод данных в цикле.

pess

Новичок
Как мне вывести
PHP:
<html>
<body>
<table>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>
Конечно рядов будет больше. если я так запихну все в цикл у меня все 5 колонок будут одинаковыми и лишь в следующей строке выведется следующее значение и также 5 раз
 

Фанат

oncle terrible
Команда форума
значит, за каждый оборот цикла надо выводить только поле таблицы. правильно?

-~{}~ 14.06.09 15:13:

Как мне вывести
я уже писал, как.
1. нарисовать то, что выводится, если выводить все в одну строку.
2. нарисовать то, что мы хотим получить, чтобы получилось много строк.
2. посмотреть, что общего, и чем отличается.

почему ты до сих пор за два дня так и не смог это сделать - для меня загадка.
 

pess

Новичок
да, я понял в цикл вставляю только TD,получается все записи у меня выводятся по порядку в одной строке, для этого TD, я хотел присвоить новый массив и вытаскивать уже из массива всю таблицу, вот только не понимаю как это сделать

-~{}~ 14.06.09 15:18:

Автор оригинала: *****
почему ты до сих пор за два дня так и не смог это сделать - для меня загадка.
Тугодум я потому что
 

Фанат

oncle terrible
Команда форума
в цикл вставляю только TD,получается все записи у меня выводятся по порядку в одной строке
отлично!
что надо добавить в эту строку, чтобы она была разбита на строки? какие теги? в каких местах?

вот у тебя строка
<td>*</td><td>*</td><td>*</td><td>*</td><td>*</td><td>*</td>

нарисуй, как она должна выглядеть, чтобы получилась таблица в 2 колонки?
 

pess

Новичок
<table>
<tr>
<td>*</td>
<td>*</td>
</tr>
<tr>
<td>*</td>
<td>*</td>
</tr>
<tr>
<td>*</td>
<td>*</td>
</tr></table>
 

Фанат

oncle terrible
Команда форума
зачем-то ты наставил еще переводов строк, ну да ладно.

получается, что в строчку
<td>*</td><td>*</td><td>*</td><td>*</td><td>*</td><td>*</td>

надо периодически вставлять </tr><tr>
а именно, через каждые два оборота. правильно? вот это я хотел от тебя услышать, но так и не услышал. видимо, действительно сложно.

получается, что вводя в цикле <td>*</td>, мы просто иногда добавляем </tr><tr>

получается, что внутри цикла, который тупо выводит <td>*</td> за один оборот, мы должны вписать какой-то код.
этот код должен считать до двух, увеличиваясь на единицу при каждом обороте. написать код, который увеличивает переменную, ты можешь? надеюсь, что да.
дальше мы сравниваем эту переменную с количеством столбцов. если равно, то выводим "это". и сбрасываем переменную. чтобы со следующего оборота она начала увеличиваться. логично?
 

pess

Новичок
Вопрос решил так,
PHP:
while ($row = mysql_fetch_array ($result))
{
echo "<td width='20%'><a href='путь' class='table'>$row[vid]</a> $row[kol] </td>";  
$i++;
if ($i == 5) {
echo "</tr><tr>";
$i = 0;
}
}
***** спасибо за пинки, все-таки дошло до жирафа =)
Только у меня пропала первая запись, вывод идет со второй.
 

vovanium

Новичок
Только у меня пропала первая запись, вывод идет со второй.
Потому что у тебя mysql_fetch_array есть перед циклом, ты считываешь строку, но потом сразу считываешь вторую в while
 

Фанат

oncle terrible
Команда форума
только лечится это не переделыванием обратно в do...while, а убиранием той бессмысленной строчки
 
Сверху