Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как вывести результат запроса в несколько равных столбцов
Форумы портала PHP.SU » PHP » Программирование на PHP » Как вывести результат запроса в несколько равных столбцов

Страниц (2): [1] 2 »
 

1. ecipuser - 19 Июня, 2009 - 05:15:04 - перейти к сообщению
Уважаемые гуру! Помогите решить вопросик -
Есть таблицы
1.catalog(id_cat||name||desc||pos||id_parent);
2. images(id_image||images||pos||id_cat||id_pos);
В первой таблице описание каталога продукции
Во второй изображения к описаниям каталога.
Сам вопрос:

При запросе:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. $query = "select * from catalog where id_cat='$_GET[id_cat']';
  3. $res=mysql_query($query);
  4. if(mysql_num_rows($res)) {
  5.  $i = 0;
  6.       while($r = mysql_fetch_array($res))
  7.       {
  8.         echo $desc;
  9.        }
  10. }
  11.  
  12.  

выводится описание.
Но во второй таблице есть, к примеру десятка полтора изображений, принадлежаших описанию данного раздела.
Как вывести изображения в несколько равных столбцов, скажем в 3 или 4 столбика?
Заранее благодарен всем кто отзовется!!!
2. JustUserR - 19 Июня, 2009 - 11:23:21 - перейти к сообщению
Чтобы выести в равный столбики добавьте условие проверки кратности размерности столбика
CODE (text):
скопировать код в буфер обмена
  1. echo "<table><tr>"; $cv=0;
  2. while($r=mysql_fetch_array($res))
  3. {// Тут что делаем и выводим например "<td>$какойтотекст</td>"
  4. if($cv%3==0) {echo "</tr><tr>";}
  5. $cv++; }
  6. echo "</tr></table>";

Таким образом мы получите что в каждой строчке не более 3 изображений

И кстати еще по вашему коду - почему у вас выводится описание? Переменная $desc же нигде не объявлена? (Register globals?)
3. ecipuser - 19 Июня, 2009 - 17:35:15 - перейти к сообщению
Благодарю!
Буду пробывать!
4. ecipuser - 20 Июня, 2009 - 06:46:58 - перейти к сообщению
По отдельности работает.
А как объеденить вывод из двух таблиц на одной странице?
( текст сверху, а изображения снизу)
(Добавление)
JustUserR пишет:
И кстати еще по вашему коду - почему у вас выводится описание? Переменная $desc же нигде не объявлена? (Register globals?)


Ине так думается, что ее объявлять нет нужды, $desc (она же из массива извлекается) - текстовое поле с описанием раздела... или я не прав?
5. JustUserR - 20 Июня, 2009 - 10:45:33 - перейти к сообщению
ecipuser Чтобы объединить текст с картинками можно сделать следующее - взять солзать новый массив и в него по очереди загнать текстовые элементы и потом выводить
Если по очереди сверъу текст а снизу картинки то сделать просто два запроса как я писал выше - один для текста друнгой для картинрок
Ну и насчет register globals - поле такое есть по оно должн быть не по умолчанию не $desc а $r['desk'] где $r это ассоцмассив с элементами строки из БД
6. ecipuser - 20 Июня, 2009 - 12:40:50 - перейти к сообщению
JustUserR пишет:
Ну и насчет register globals - поле такое есть по оно должн быть не по умолчанию не $desc а $r['desk'] где $r это ассоцмассив с элементами строки из БД


На счет этой ошибки это я понял, спасибо
7. ecipuser - 23 Июня, 2009 - 00:36:57 - перейти к сообщению
JustUserR пишет:
Чтобы выести в равный столбики добавьте условие проверки кратности размерности столбика


CODE (text):
скопировать код в буфер обмена
  1.  
  2. [PHP]
  3.       $query = "SELECT images FROM $tbl_cat_image";
  4.       $img = mysql_query($query);
  5.       if(!$img) exit("Ошибка при извлечении изображений");
  6.       if(mysql_num_rows($img))
  7.       {
  8.  
  9.  echo "<table><tr>"; $cv=0;
  10. while($r=mysql_fetch_array($img))
  11. {// Тут что делаем и выводим например "<td>$какойтотекст</td>"
  12. if($cv%3==0) {echo "</tr><tr>";}
  13. $cv++; }
  14. }
  15. echo "</tr></table>";
  16.  
  17. [/PHP]
  18.  
  19.  


Почему то не отрабатывается.. Пустая страница...
Проверка ошибок запроса к таблице ничего не пишет...
даже при запросе по id_catalog тоже пустая страница....
В чем затык, где рыть?
8. valenok - 23 Июня, 2009 - 00:38:58 - перейти к сообщению
Так твой код ничего и не выводит. Переменную cv оно вообще не знает.
Ты открой html и увидишь там <table><tr></tr></table>
9. ecipuser - 23 Июня, 2009 - 02:52:56 - перейти к сообщению
valenok пишет:
Так твой код ничего и не выводит. Переменную cv оно вообще не знает.
Ты открой html и увидишь там <table><tr></tr></table>


Так все же как решить вопрос вывода текста из таблицы catalog и изображений из таблицы images(изображений больше одного и выводить в колонки по три или четыре),
т.е. при обращении к каталогу по id_catalog=** на страницу должно выводиться: name + descr + N - images?
Текст вывести получиается, а изображения ни как.
Прошу помогите! Мозгов уже не хватает
10. Champion - 23 Июня, 2009 - 11:09:07 - перейти к сообщению
ecipuser, http://phpfaq[dot]ru/debug - сам. Ищи, где что-то не так.
11. JustUserR - 23 Июня, 2009 - 11:55:14 - перейти к сообщению
Champion Да нет переменная $cv есть и видна - echo "<table><tr>"; $cv=0;
ecipuser Кстати если таблица большая то можно вообще на странички разбить
12. Champion - 23 Июня, 2009 - 12:24:28 - перейти к сообщению
JustUserR пишет:
Champion Да нет переменная $cv есть и видна
Я про нее ничего не говорил)) Но такие вещи, как "пустая страница" преодолеваются отладкой.
Я, кстати, не вижу, где ты вообще изображение выводишь. И не думай, что у тебя получится вывести его на одной странице с текстом. Вывести на странице с текстом ты можешь <img src=...>
13. JustUserR - 23 Июня, 2009 - 14:13:12 - перейти к сообщению
Цитата:
Я про нее ничего не говорил
Ой я натупил извиняюсь Улыбка
Цитата:
Но такие вещи, как "пустая страница" преодолеваются отладкой
Разумеется кудаж без нее Улыбка
14. ecipuser - 23 Июня, 2009 - 17:27:51 - перейти к сообщению
JustUserR

Подскажите все же как это все решается... мозги уже не соображают...
15. JustUserR - 24 Июня, 2009 - 12:24:38 - перейти к сообщению
ecipuser Я сам полностью не въехал что у вас там именно но вот насччет картинок У вас ведь картинки в базе хранятся? У вас должен же быть отдельный PHP-скрипт по выводу этих картинок к которому вы будете обращаться потому что вы понимаете что картнки просто так в текстве вывоить нельзя

 

Powered by ExBB FM 1.0 RC1