zilber 3 Опубликовано: 16 января 2015 Рассказать Опубликовано: 16 января 2015 (изменено) Встал перед неожиданной сложностью, надеюсь на помощь. Кусок кода: ... $sql = "SELECT * FROM sled_hotels WHERE town=4 ".$str; $result = mysql_query($sql); $num = mysql_num_rows($result); if ( $num > 0) { $row = mysql_fetch_assoc($result); echo '<div class="HOTELRESULTS">По вашему запросу найдено отелей:'.$num.' </div>'; do { echo $row['name'].'</br>'; } while ($row = mysql_fetch_assoc($result)); ... Хочу оформить в div каждую выбранную из базы строку. HOTELRESULTS - блок с аобсолютным позиционированием. работает отлично. выводит в заранее заданном место общее количество найденного. Далее беру еще один блок allresults- absolute, располагаю под HOTELRESULTS, в него вставляю еще блок EACHHOTEL, уже relative, в надежде, что каждая строка выборки (row name) будет иметь оформление блока relative. Никак не выходит. Опыты: echo '<div class="allresult"><div class="eachresult">'.$row['name'].'</div></div>'; Расположение блока где должны выводиться построчно отели - правильное. Сами же отели схлопнулись в один блок. echo '<div class="eachresult">'.$row['name'].'</div>'; Отели идут положенным рядком, но совершенно не в том месте сайта, где нужно. $print .= '<div class="allresult">'; $print .= '<div class="eachresult">'.$row['name'].'</div>'; $print .= '</div>'; echo $print Расположение блока где должны выводиться построчно отели - правильное. Сами же отели схлопнулись в один блок. Вобщем понимаю, что два подряд дива эхо не принимает. А как быть тогда? UPD: do {?> <div class="allresult"> <?= '<div class="eachresult">'.$row['name'].'</div>' ?> </div> <? Расположение блока где должны выводиться построчно отели - правильное. Сами же отели схлопнулись в один блок. do {?> <div class="allresult"> <div class="eachresult"> <?=$row['name'] ?> </div> </div> <? Расположение блока где должны выводиться построчно отели - правильное. Сами же отели схлопнулись в один блок. Изменено 16 января 2015 пользователем zilber Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 16 января 2015 Рассказать Опубликовано: 16 января 2015 zilber, ты лучше ссылку на сайт дайСами же отели схлопнулись в один блок.что это вообще значит? Цитата Ссылка на сообщение Поделиться на других сайтах
Mr.Ron 2 Опубликовано: 17 января 2015 Рассказать Опубликовано: 17 января 2015 (изменено) возможно ли проблема в css? или использовать оператор цикла, при условиях? http://www.cyberforum.ru/php-database/thread902536.html - не то? Изменено 17 января 2015 пользователем Mr.Ron Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 17 января 2015 Рассказать Опубликовано: 17 января 2015 Вообще не могу понять сути проблемы. Обходите в цикле, заносите все необходимое в массив или переменную, затем весь блок выводите через эхо. Цитата Ссылка на сообщение Поделиться на других сайтах
zilber 3 Опубликовано: 17 января 2015 Рассказать Опубликовано: 17 января 2015 Автор zilber, ты лучше ссылку на сайт дайСами же отели схлопнулись в один блок.что это вообще значит? Вот что значит схлопнулись. Вся нужная информация выведена, но в одном блоке (в коде html видно, что выведены все отели) Вообще не могу понять сути проблемы. Обходите в цикле, заносите все необходимое в массив или переменную, затем весь блок выводите через эхо. вы сейчас услышите фразу, от которой у старожил форума сводит зубы: я не очень силен в php. можете подсказать по-конкретнее? был бы очень и очень благодарен. Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 17 января 2015 Рассказать Опубликовано: 17 января 2015 был бы очень и очень благодарен. да просто кривая верстка, покажи html и css html из исходного кода скопируй Цитата Ссылка на сообщение Поделиться на других сайтах
zilber 3 Опубликовано: 17 января 2015 Рассказать Опубликовано: 17 января 2015 (изменено) Автор Вопрос решился сменой кода: $sql = "SELECT * FROM sled_hotels WHERE town=4 ".$str; $result = mysql_query($sql); $num = mysql_num_rows($result); echo '<div class="HOTELRESULTS">По вашему запросу найдено отелей:'.$num.' </div>'; echo '<div class="allresult">'; if($num) { while($row = mysql_fetch_assoc($result)) { echo '<div class="eachresult">'.$row['name'].'</div>'; } }else{ echo '<p>По вашему запросу ничего не найдено.</p>'; } echo '</div>'; Спасибо огромное за готовность помочь! Изменено 17 января 2015 пользователем zilber Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 17 января 2015 Рассказать Опубликовано: 17 января 2015 Так корректнее $sql = "SELECT * FROM sled_hotels WHERE town=4 ".$str; $result = mysql_query($sql); $num = mysql_num_rows($result); $res = ''; $res= '<div class="HOTELRESULTS">По вашему запросу найдено отелей:'.$num.' </div><div class="allresult">'; if($num) { while($row = mysql_fetch_assoc($result)) { $res.= '<div class="eachresult">'.$row['name'].'</div>'; } }else{ $res.= '<p>По вашему запросу ничего не найдено.</p>'; } $res.= '</div>'; echo $res; Цитата Ссылка на сообщение Поделиться на других сайтах
zilber 3 Опубликовано: 18 января 2015 Рассказать Опубликовано: 18 января 2015 Автор Спасибо большое. Дальше больше... Не подскажете, как по результатам первой выборки (полученный список отелей с hotel_id) - тут же произвести вторую из другой таблицы, где хранятся фотографии отелей и по hotel_id вытянуть фото отеля и все это вывести сразу? Я пока придумал только так - довел таблицу отелей, добавив к каждому отелю ссылку на его фотографию, чтобы из другой таблицы не тянуть. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.