Profic
just Profic (PHP5 BetaTeam)
А можно ли это одним запросом или лучше не стоит?
Имеется список значений (неважно каких, он есть), его нужно отображать в несколько колонок по столбцам да еще и так чтобы пустых мест оставалось как можно меньше, но т.к. таблицы выводятся по строкам, возникает проблема с отображением.
Первоначально все вытаскивалось в массив и потом отображалось... работало очень медленно
Потом переделал в такую конструкцию
(здесь нет никакого отображения таблиц - это тестовая версия). Эти запросы работают относительно быстро и как им положено (3 - кол-во столбцов), но...
Возникает вопрос, а можно ли такой же результат получить одним запросом? Или лучше не стоит заморачиваться и оставить всё как есть?
ЗЫ. Пишу в 5 утра, поэтому могу чего напутать , но суть вопроса должна быть понятна
Имеется список значений (неважно каких, он есть), его нужно отображать в несколько колонок по столбцам да еще и так чтобы пустых мест оставалось как можно меньше, но т.к. таблицы выводятся по строкам, возникает проблема с отображением.
Первоначально все вытаскивалось в массив и потом отображалось... работало очень медленно
Потом переделал в такую конструкцию
PHP:
$q = "CREATE TEMPORARY TABLE names
( num INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
) TYPE=MYISAM AUTO_INCREMENT=1
REPLACE SELECT name_rus AS item, id AS id
FROM t98
WHERE name_rus REGEXP '^.{0}[0-9]'
ORDER BY name_rus
LIMIT 150
";
vard ($q);
$r = $db->query ($q);
vard ($num = mysql_affected_rows ($db->db_connection));
$col = ceil ($num / 3);
$q = "SELECT item, id, IF((num % $col), (num % $col), $col) AS pos FROM names ORDER BY pos";
vard ($q);
$db->query ($q);
for ($i = 0; $i < $db->num_rows (); $i++) {
$r = $db->fetch_array ();
echo "<p>".$r['item'].":".$r['id'];
}
Возникает вопрос, а можно ли такой же результат получить одним запросом? Или лучше не стоит заморачиваться и оставить всё как есть?
ЗЫ. Пишу в 5 утра, поэтому могу чего напутать , но суть вопроса должна быть понятна