Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: вывод в колонки

Сообщения:  [1-10]   [11-20] 

 
 автор: Лена   (02.12.2008 в 12:44)   письмо автору
 
   для: Лена   (01.12.2008 в 23:59)
 

Вот что получилось.

<?php
include("configs/dbopen.php");
$sql"SELECT *, m.id_menu AS menu 
FROM img AS i
LEFT JOIN menu AS m ON i.id_menu = m.id_menu
WHERE i.id_menu = m.id_menu
ORDER BY i.id_menu"
;
$res mysql_query($sql); 
if(!
$res) exit("Error in $sql: "mysql_error());
if(
mysql_num_rows($res)>0){

$rows = array();
    while(
$row mysql_fetch_assoc($res))
        
$rows[$row['title']][] = $row['name'];

        
$maxcount 0;
        foreach(
$rows as $row)
        
$maxcount max($maxcountcount($row));

foreach(
$rows as $name => $row){

echo 
$name;
echo 
"<table>"
$j 0;
    for(
$i 0$i $maxcount$i++){
    if(!(
$j%4))    echo "<tr>";
    
$file "lightbox/images/copy/" $row[$i]; 
    
$big_file "lightbox/images/" $row[$i];
    if(
$row[$i])
    echo 
"<td><a href='"$big_file ."'><img src='" $file "' width='180' height='100' 
alt = '" 
.$file "'/></a></td>";
    if(!((
$j+1)%4))    echo "</tr>";
    
$j++;
    }

echo 
"</table>"
print 
"<hr size = '1px' width='75%'>"
}
}
?>

  Ответить  
 
 автор: Лена   (01.12.2008 в 23:59)   письмо автору
 
   для: sim5   (01.12.2008 в 19:35)
 

В принципе я тоже разобралась. Больше в этой теме пока ничего писать не нужно. День тяжелый был, уже спать иду. Завтра свой код исправленный здесь покажу. Спасибо.

  Ответить  
 
 автор: sim5   (01.12.2008 в 19:35)   письмо автору
 
   для: Trianon   (01.12.2008 в 19:28)
 

Мне то ясно. Можно даже взять и то что у автора, но выводить надо во вложенном цикле не текущую строку ресурса, а смещения, начиная от первого изображения... Короче, причина не в принципе расклада таблицы (как закрыть тег).
Сегодня и так башка болит, еще вы меня "нервируете" :)) Вместо этих "баталий", давно бы написали - "Милочка, а вот тут вы не правы, надо вот так...". ;-)

  Ответить  
 
 автор: Trianon   (01.12.2008 в 19:28)   письмо автору
 
   для: sim5   (01.12.2008 в 19:01)
 

>Строка ресурса должна выглядеть либо так: а = (пусть строка), b = array(а это уже массив изображений, вот его во вложенном цикле можно и разложить), с = (чего-то);

такое можно достичь через group_concat , но на мой взгляд, овчинка выделки не стоит.


>любо так:
>0 стр. а = (пусть строка), b = (первое изображение), с = (чего-то)
>1 стр. а = (пусть строка), b = (второе изображение), с = (чего-то)
>и т.д...

А такое - вполне рядовой случай

<?
$sql 
"SELECT objects.name, images.path 
FROM objects LEFT JOIN images ON images.object_id = objects.id
GROUP BY objects.name"
;
$res mysql_query($sql);
for(
$rows = array(); $row mysql_fetch_assoc($res);)
    
$rows[$row['name']][] = $row['path'];

$maxcount 0;
foreach(
$rows as $row)
  
$maxcount max($maxcountcount($row));

foreach(
$rows as $name => $row)
{
  echo 
"<tr><td>$name</td>";
  for(
$i 0$i $maxcount$i++)
  {
    
$val $i $maxcount "<img src=\"".$row[$i]."\" />" " ";
    echo 
"<td>$val</td>\r\n";
  }  
  echo 
"</tr>\r\n";
}


  Ответить  
 
 автор: sim5   (01.12.2008 в 19:01)   письмо автору
 
   для: Trianon   (01.12.2008 в 18:22)
 

Да разве в этом дело, бог с ним, пусть их будет по три, или 4, потом 3, потом 5... Вот вы, как MySQL-док (:)) скажите, как можно при раскладе ресурса, если его некий элемент, это не массив этих изображений, при таком подходе разложения, получить необходимую таблицу?

Строка ресурса должна выглядеть либо так: а = (пусть строка), b = array(а это уже массив изображений, вот его во вложенном цикле можно и разложить), с = (чего-то);
любо так:
0 стр. а = (пусть строка), b = (первое изображение), с = (чего-то)
1 стр. а = (пусть строка), b = (второе изображение), с = (чего-то)
и т.д...
Во втором случае надо тогда ориентироваться, например, проверяя по а, которая должна быть уникальной для каждых N изображений.
Вот тогда я понимаю, иначе как? Сколько бы не влаживали функций, в итоге вывод будет только одного из N изображений, при подходе как выше.

  Ответить  
 
 автор: Trianon   (01.12.2008 в 18:22)   письмо автору
 
   для: sim5   (01.12.2008 в 18:12)
 

из базы :)
Из схемы же не следует, что у любого элемента меню РОВНО четыре картинки? :)
Собственно, таких количественных ограничений в любом случае следовать не будет.

  Ответить  
 
 автор: sim5   (01.12.2008 в 18:12)   письмо автору
 
   для: Trianon   (01.12.2008 в 18:08)
 

Ну это уже другой вопрос. В данном случае, у автора выводится по одному. А как их может быть несколько, если просто происходит цикл прохода ресурса: первая итерация - первое изображение из n изображений, вторая - второе, и т.д.. Откуда могут появиться другие?

  Ответить  
 
 автор: Trianon   (01.12.2008 в 18:08)   письмо автору
 
   для: sim5   (01.12.2008 в 17:49)
 

картинок же может быть и меньше, и больше четырех на строку - в результате запроса...

  Ответить  
 
 автор: sim5   (01.12.2008 в 17:49)   письмо автору
 
   для: Trianon   (01.12.2008 в 17:46)
 

А, понял я про что, про забытые скобки. Блин, пардон: if (!(($i+1) % $col)). Будет не закрыт тег, но вывод будет-то по требуемому числу. Я просто не пойму от куда берутся эти изображения. Тут как-то сам ресурс тогда по модулю 4 разбивать нужно, иначе "какая-то не то" получается.

  Ответить  
 
 автор: Trianon   (01.12.2008 в 17:46)   письмо автору
 
   для: sim5   (01.12.2008 в 17:41)
 

И что? В иcходнике html видны закрывающие теги </TR> ?
Кому не надо?

  Ответить  

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования