Выборка из таблицы

  • Автор темы Alexander_New
  • Дата начала

Alexander_New

Guest
Выборка из таблицы

Имеются две таблицы: Hotels и Country, в обеих таблицах есть поля country_id и hot_country_id. Необходимо что бы появлялся список с заголовком Страны и ниже в виде списка отели, которые к этой стране относятся. Все сделал, но как-то не так все выходит

PHP:
$query = "SELECT Name,hot_name FROM Hotels,Country where Hotels.hot_country_id = Country.country_id";
$result = MYSQL_QUERY($query);


$number = MYSQL_NUMROWS($result);

$i = 0;

WHILE ($i < $number){
$hot_name = mysql_result($result,$i,"hot_name");
$name = mysql_result($result,$i,"Name");
PRINT "<span><a class=left_menu href='/'>$name</a></span><br>";
print "$hot_name"
PRINT "<BR><BR>";

$i++;
}
В чем нет так?
 

Alexander_New

Guest
Да, так лучше...но все равно дублируется имя страны под каждым новым отелем. Мне нужно что было так:

Пример:

Название страны
-отель такой-то
-отель такой-то
........

Название страны
-отель такой-то
-отель такой-то
........
 

yugene

Отошел от дел
Ну так у тебя для каждого $i сделан вывод страны. Запоминай выведенное название отеля и выводи его только если оно не совпадает с запомненным на предыдущем шаге.
 

Wicked

Новичок
требуемая структура не вписываются в реляционную модель, так что то, что вернет mysql в любом случае как-то придется обрабатывать на стороне пхп.
 

Alexander_New

Guest
Пробую вкладывать в циклы подциклы, но ничего не получается....подскажите, пожалуйста, кто может в виде кода как это сделать, ну очень срочно нужно!!!!

Спасибо!
 

Фанат

oncle terrible
Команда форума
вкадывать ничего никуда не надо.
тебе yugene подсказал уже.
ты читать умеешь? или только верещать?
 

Alexander_New

Guest
Я ж пишу, что пробую делать так так советует yugene, но не получается (( Вот и прошу помощи, как новичку, в этом деле!

P.S. я не верещу, попрошу без грубости
 

Фанат

oncle terrible
Команда форума
когда на форуме человек кричит
ну очень срочно нужно!!!!
то это выглядит, как верещание. запрещенное правилами форума, кстати.
И это не ты меня должен просить без грубости, поскольку грубости никакой нету - есть констатация факта. А это я тебя попрошу без верещаня. второй раз и последний.

Я ж пишу, что пробую делать так так советует yugene
ГДЕ у
yugene написано слово "напихать цикл"?
у него есть слово "запомнить", которое ознаяает "присвоить переменной значение" и "сравнить", которое означает "сравнить".
Смысл какого из этиз слов тебе не ясен?

-~{}~ 10.03.05 18:15:

кстати, ещё ни разу, ни один страдалец, неспособный реализовать этот примитвиный алгоритм, не разместил его в форуме, отличном от "пхп и муйэскуэль".

В поиск посылать даже не буду пытаться.
Поскольку запомнить и вывести город только по изменению и воспользоваться поиском - это задачи примерно равные по интеллектуальным затратам.
 

Alexander_New

Guest
PHP:
$result_country_name = mysql_query("SELECT * FROM Country WHERE 'is_Island' = 0") or die(mysql_error());

while ($myrow = mysql_fetch_array($result_country_name))
{
PRINT "<br><h1 id='title_hotels_left'>$myrow[Name]</h2>";


$result_hotel_name = mysql_query("SELECT * FROM Hotels WHERE hot_country_id = '$myrow[country_id]' ORDER BY `hot_Name` ASC ") or die(mysql_error());

while ($myrow2 = mysql_fetch_array($result_hotel_name))
{
print "<ul class='left_menu'>";
print "<li>";
PRINT "<a class=left_menu href='/'>$myrow2[hot_name]</a>";
print "</li>";
print "</ul>";


}

}
Вот об этом коде с спрашивал изначально! Скажу спасибо самому себе!
 

SelenIT

IT-лунатик :)
Скажи, потому что база тебе за такой алгоритм спасибо вряд ли скажет. Лучше воспользуйся поиском по форуму, внимательно перечитай топик (особенно посты yugene и Фаната) и скорее, пока база не "легла" от перегрузки, переделай по-человечески...
 
Сверху