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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как вывести результат запроса в несколько равных столбцов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Как вывести результат запроса в несколько равных столбцов
ecipuser
Отправлено: 19 Июня, 2009 - 05:15:04
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




Уважаемые гуру! Помогите решить вопросик -
Есть таблицы
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 столбика?
Заранее благодарен всем кто отзовется!!!
 
 Top
JustUserR
Отправлено: 19 Июня, 2009 - 11:23:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Чтобы выести в равный столбики добавьте условие проверки кратности размерности столбика
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?)


Отредактировано администратором: Champion, 19 Июня, 2009 - 13:28:39


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
ecipuser
Отправлено: 19 Июня, 2009 - 17:35:15
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




Благодарю!
Буду пробывать!
 
 Top
ecipuser
Отправлено: 20 Июня, 2009 - 06:46:58
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




По отдельности работает.
А как объеденить вывод из двух таблиц на одной странице?
( текст сверху, а изображения снизу)
(Добавление)
JustUserR пишет:
И кстати еще по вашему коду - почему у вас выводится описание? Переменная $desc же нигде не объявлена? (Register globals?)


Ине так думается, что ее объявлять нет нужды, $desc (она же из массива извлекается) - текстовое поле с описанием раздела... или я не прав?
 
 Top
JustUserR
Отправлено: 20 Июня, 2009 - 10:45:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




ecipuser Чтобы объединить текст с картинками можно сделать следующее - взять солзать новый массив и в него по очереди загнать текстовые элементы и потом выводить
Если по очереди сверъу текст а снизу картинки то сделать просто два запроса как я писал выше - один для текста друнгой для картинрок
Ну и насчет register globals - поле такое есть по оно должн быть не по умолчанию не $desc а $r['desk'] где $r это ассоцмассив с элементами строки из БД


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
ecipuser
Отправлено: 20 Июня, 2009 - 12:40:50
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




JustUserR пишет:
Ну и насчет register globals - поле такое есть по оно должн быть не по умолчанию не $desc а $r['desk'] где $r это ассоцмассив с элементами строки из БД


На счет этой ошибки это я понял, спасибо
 
 Top
ecipuser
Отправлено: 23 Июня, 2009 - 00:36:57
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




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 тоже пустая страница....
В чем затык, где рыть?
 
 Top
valenok Модератор
Отправлено: 23 Июня, 2009 - 00:38:58
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Так твой код ничего и не выводит. Переменную cv оно вообще не знает.
Ты открой html и увидишь там <table><tr></tr></table>


-----
Truly yours, Sasha.
 
My status
 Top
ecipuser
Отправлено: 23 Июня, 2009 - 02:52:56
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




valenok пишет:
Так твой код ничего и не выводит. Переменную cv оно вообще не знает.
Ты открой html и увидишь там <table><tr></tr></table>


Так все же как решить вопрос вывода текста из таблицы catalog и изображений из таблицы images(изображений больше одного и выводить в колонки по три или четыре),
т.е. при обращении к каталогу по id_catalog=** на страницу должно выводиться: name + descr + N - images?
Текст вывести получиается, а изображения ни как.
Прошу помогите! Мозгов уже не хватает
 
 Top
Champion Супермодератор
Отправлено: 23 Июня, 2009 - 11:09:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




ecipuser, http://phpfaq[dot]ru/debug - сам. Ищи, где что-то не так.
 
 Top
JustUserR
Отправлено: 23 Июня, 2009 - 11:55:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Champion Да нет переменная $cv есть и видна - echo "<table><tr>"; $cv=0;
ecipuser Кстати если таблица большая то можно вообще на странички разбить


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Champion Супермодератор
Отправлено: 23 Июня, 2009 - 12:24:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




JustUserR пишет:
Champion Да нет переменная $cv есть и видна
Я про нее ничего не говорил)) Но такие вещи, как "пустая страница" преодолеваются отладкой.
Я, кстати, не вижу, где ты вообще изображение выводишь. И не думай, что у тебя получится вывести его на одной странице с текстом. Вывести на странице с текстом ты можешь <img src=...>
 
 Top
JustUserR
Отправлено: 23 Июня, 2009 - 14:13:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Цитата:
Я про нее ничего не говорил
Ой я натупил извиняюсь Улыбка
Цитата:
Но такие вещи, как "пустая страница" преодолеваются отладкой
Разумеется кудаж без нее Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
ecipuser
Отправлено: 23 Июня, 2009 - 17:27:51
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




JustUserR

Подскажите все же как это все решается... мозги уже не соображают...
 
 Top
JustUserR
Отправлено: 24 Июня, 2009 - 12:24:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




ecipuser Я сам полностью не въехал что у вас там именно но вот насччет картинок У вас ведь картинки в базе хранятся? У вас должен же быть отдельный PHP-скрипт по выводу этих картинок к которому вы будете обращаться потому что вы понимаете что картнки просто так в текстве вывоить нельзя


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB