Собственно, сабж. Поясню на абстрактном примере. Есть таблица test, в ней два поля: A и B. В этих полях содержатся записи следующего вида: A1 B1 A2 B2 A3 B3 и так далее... Требуется расположить эти записи следующим образом: A1 B1 A2 B2 A3 B3 A4 B4 A5 B5 A6 B6 и так далее... Т.е. в каждой строке не по 1 а по 2 записи. У меня сейчас стоит самый обыкновенный запрос "SELECT * FROM test" который отлично отрабатывает. Просто требуется записи расположить в 2 колонки. Жду помощи от кого-нибудь.
То есть это что получается?... я не там темку запостил? Всё равно помощь нужна как в php это сделать.
PHP: $i=0; $out=''; while ($row=mysql_fetch_assoc($q)) { $out.=$row['a'].' '.$row['b'] if ($i %2) $out.=' \n'; $i++; }
Ага, понятно. Но чуть-чуть не то 1. Я пробовал ставить знак "<br>" (что вроде бы аналогично \n) - не катит. 2. Условие вывода такое: если строка чётная, отобразить её серым цветом, иначе - белым. Я делаю так: PHP: $query = mysql_query("SELECT * FROM test"); $i = 0; while ($data = mysql_fetch_array($query)) { $i++; if ($i % 2 == 0) { echo "<tr><td style='background-color: silver;'>ДАННЫЕ</td></tr>"; } else { echo "<tr><td>ДАННЫЕ</td></tr>"; } } И вот в рамках именно таких условий надо как-то разделить их по двум колонкам
PHP: $i=0; $out=''; while ($row=mysql_fetch_assoc($q)) { if ($i%4 ) $out.='<tr style=...>'; else if ($i %2) $out.=' <tr>'; $out.='<td>'.$row['a'].' '.$row['b'].'</td>'; if (!($i %2)) $out.=' </tr>'; $i++; } дальше сам.
Это опять я Почти получилось! Вот такой код: PHP: for ($i = 0; $i < mysql_num_rows($user_query); $i++) { if (!mysql_data_seek($user_query, $i)) continue; if (!$row = mysql_fetch_object($user_query)) continue; echo $row->login."<br>".$row->login; } выводит следующее: Надеюсь, понятно, что нужен такой вывод: куда копать? чувствую что нужно сделать что-то очень простое, но уже мозги кипят!
Это что и зачем? нет, так ты просто повторно бегаешь по выборке со сложно предсказуемыми результатами. ну значит так: PHP: $i=0; $out=''; while ($row=mysql_fetch_assoc($q)) { if (!($i%4)) $out.='<tr style=...>'; elseif (!($i %2)) $out.=' <tr>'; $out.='<td>'.$row['a'].' '.$row['b'].'</td>'; if ($i %2) $out.=' </tr>'; $i++; } если проблема в тебе, не надо искать других причин и хитростей.