[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод в таблицу в вертикальном направлении
MillerLight
Всем привет!

Есть одна такая протертая темы у меня. Вывод из базы в три колонки в вертикальном направлении...

Много вариантов просмотрел. Посмотрел пример нашего форумчанина KIRIKa. Работает, но в его примере все выводтся в свое td и id записи и название и текст и т.д. Это не подходит.

Есть у кого попроще примеры?

1|7 |13
2|8 |14
3|9 |15
4|10|16
5|11|17
6|12|18

Записей в базе много....



Спустя 3 минуты, 47 секунд (2.05.2012 - 21:38) Игорь_Vasinsky написал(а):
какой вид надо то???

Спустя 2 минуты, 12 секунд (2.05.2012 - 21:40) MillerLight написал(а):
1|7 |13
2|8 |14
3|9 |15
4|10|16
5|11|17
6|12|18

Спустя 4 минуты, 37 секунд (2.05.2012 - 21:45) Игорь_Vasinsky написал(а):
и бд такой структуры?

Спустя 36 секунд (2.05.2012 - 21:45) alexbel2404 написал(а):
строк сколько должно быть?

Спустя 3 минуты, 19 секунд (2.05.2012 - 21:49) MillerLight написал(а):
база id | name | img


записей множество... Значит и строк получится многовато))) главное в три колонки.


Причем надо чтоб в каждой ячейки таблицы выводилось все что есть в данном id.

Спустя 6 минут, 18 секунд (2.05.2012 - 21:55) alexbel2404 написал(а):
хм, что-то мыслей вообще нет, пора на отдых идти)

Спустя 59 секунд (2.05.2012 - 21:56) MillerLight написал(а):
Согласен. Всем цветных снов. Завтра надеюсь решу задачку))))

Спустя 27 секунд (2.05.2012 - 21:56) Игорь_Vasinsky написал(а):
$query = mysql_query("SELECT `cell` FROM `table`");

echo '<table><tr>';

if(mysql_num_row($query))
{
$i = 0;

while($row = mysql_fetch_assoc($query))
{

$i++;

echo '<td>'.$row['cell'].'</td>';

if($i%3==0)
echo '</tr><tr>';

}
}

else
echo '<td colspan="3" align="center">No records founded!</td>';
echo '</tr></table>';




на примере:

<?php
$row = range(1,28);

echo '<table border="1"><tr>';

$i = 0;

foreach($row as $r)
{
$i++;

echo '<td>'.$r.'</td>';

if($i%3==0)
echo '</tr><tr>';
}

echo '</tr></table>';
?>


вывод:

1	2	3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18
19 20 21
22 23 24
25 26 27
28

Спустя 30 секунд (2.05.2012 - 21:57) Игорь_Vasinsky написал(а):
слабочки wink.gif

Спустя 2 минуты, 56 секунд (2.05.2012 - 22:00) alexbel2404 написал(а):
да так любой сможет)))) ты посмотри на порядок вывода, который ему нужен)

Спустя 4 минуты, 21 секунда (2.05.2012 - 22:04) Игорь_Vasinsky написал(а):
сделать выборку в массив - а массив крутить как хотеть. пересобрать:

2х мерный массив

$arr[1] = array(1,4,7, 10 ....);
$arr[2] = array(2,5,8, 11 ....);
$arr[3] = array(3,6,9, 12 ....);


и в for() всё разложить.

Спустя 6 часов, 37 минут, 13 секунд (3.05.2012 - 04:41) MillerLight написал(а):
Игорь_Vasinsky благодарю! Горизонтальный уже освоил. Интересен вертикальный теперь.

Все перерыл.

Если кто то конкретно знает начните. А я уж с вашим надзором его закончу )))))

Спустя 9 часов, 45 минут, 7 секунд (3.05.2012 - 14:26) MillerLight написал(а):
Я так понимаю должно быть следующшее.

Допустим в базе 8 записей. Надо 3 столбца.

8/3=2,6 через функцию округления получаем 3 значит сторк будет 3

Дальше пока не додумал))))

Спустя 3 часа, 16 минут, 37 секунд (3.05.2012 - 17:43) MillerLight написал(а):
Всем спасибо! Отлично внедрился пример с форума.

Спустя 9 часов, 38 минут, 10 секунд (4.05.2012 - 03:21) Игорь_Vasinsky написал(а):
который?

Спустя 4 минуты, 48 секунд (4.05.2012 - 03:26) Игорь_Vasinsky написал(а):
вообще так можно было:

$count - общее кол-во строк

$i = ceil($count/3);

$row = isset($row['cell']) ? $row['cell'] : null;


Собрать выборку в массив

в цикле for() раскидать по 3 ячейки в строке, вторая ячейка ключ + 1, третья ключ+2

Спустя 15 часов, 45 минут, 59 секунд (4.05.2012 - 19:12) MillerLight написал(а):
Все сделал по этому примеру

http://phpforum.ru/index.php?showtopic=19919
Быстрый ответ:

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