Перейти к публикации

Введение двух DIV в один ECHO


Рекомендованные сообщения

Встал перед неожиданной сложностью, надеюсь на помощь.

Кусок кода:


...


$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>

        <?

Расположение блока где должны выводиться построчно отели - правильное. Сами же отели схлопнулись в один блок.

Изменено пользователем zilber
Ссылка на сообщение
Поделиться на других сайтах

zilber, ты лучше ссылку на сайт дай

Сами же отели схлопнулись в один блок.
что это вообще значит?
Ссылка на сообщение
Поделиться на других сайтах

возможно ли проблема в css?

или использовать оператор цикла, при условиях?

http://www.cyberforum.ru/php-database/thread902536.html - не то?

Изменено пользователем Mr.Ron
Ссылка на сообщение
Поделиться на других сайтах

Вообще не могу понять сути проблемы.

Обходите в цикле, заносите все необходимое в массив или переменную, затем весь блок выводите через эхо.

Ссылка на сообщение
Поделиться на других сайтах

zilber, ты лучше ссылку на сайт дай

Сами же отели схлопнулись в один блок.
что это вообще значит?

Вот что значит схлопнулись. Вся нужная информация выведена, но в одном блоке (в коде html видно, что выведены все отели)

1.jpg

Вообще не могу понять сути проблемы.

Обходите в цикле, заносите все необходимое в массив или переменную, затем весь блок выводите через эхо.

вы сейчас услышите фразу, от которой у старожил форума сводит зубы:

я не очень силен в php. можете подсказать по-конкретнее?

был бы очень и очень благодарен.

Ссылка на сообщение
Поделиться на других сайтах

был бы очень и очень благодарен.
да просто кривая верстка, покажи html и css

html из исходного кода скопируй

Ссылка на сообщение
Поделиться на других сайтах

Вопрос решился сменой кода:

$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>';

Спасибо огромное за готовность помочь!

Изменено пользователем zilber
Ссылка на сообщение
Поделиться на других сайтах

Так корректнее


$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;

Ссылка на сообщение
Поделиться на других сайтах

Спасибо большое.

Дальше больше...

Не подскажете, как по результатам первой выборки (полученный список отелей с hotel_id) - тут же произвести вторую из другой таблицы, где хранятся фотографии отелей и по hotel_id вытянуть фото отеля и все это вывести сразу? Я пока придумал только так - довел таблицу отелей, добавив к каждому отелю ссылку на его фотографию, чтобы из другой таблицы не тянуть.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...