[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод результата
Grey
Здравствуйте. Сутки бьюсь не могу решить задачу.
есть таблица улиц - id, title, id_sity и собственно таблица городов - id, title_sity
Хочу вывести, чтобы выглядело таким образом:
Тамбов
__________________
ул. Ленина
4 мкр.
ул. Доронина
все улицы Тамбова

Луганск
_________________
все улицы Луганска
и тд
, то есть данные крест-накрест.
Города вывожу так:
PHP
$q "SELECT * FROM cities";
   
$r mysql_query($q);
   while(
$arr mysql_fetch_assoc($r))
       {
         echo 
$arr['id'].'>'.$arr['title_sity'].'<br>';
       }


Но как вписать между городами их улицы циклом, без отдельного запроса на каждый, не могу допереть. Укажите, пожалуйста, путь =)



Спустя 13 минут, 42 секунды (18.03.2009 - 08:26) Sylex написал(а):
SQL
SELECT * FROM cities c
LEFT JOIN streets s
ON c.id = s.id_sity


В итоге получишь таблицу:
Код
Тамбов  ул. Ленина
Тамбов  4 мкр.
Тамбов  ул. Доронина
Луганск  ул. Мира
Луганск  ул. Менделеева
Луганск  ул. Пушкина
Луганск  17 мкр.

...

Спустя 23 часа, 6 минут, 1 секунда (19.03.2009 - 07:32) Grey написал(а):
Да это работает, в том смысле что выбирает взаимосвязанные данные из двух таблиц. то есть если сделать так,

PHP
$q "SELECT * FROM cities c LEFT JOIN streets s ON c.id = s.id_sity ";
   
$r mysql_query($q);
   while(
$arr mysql_fetch_assoc($r))
       {
         echo 
$arr['title'].'>'.$arr['title_sity'].'<br>';
       }

то выйдет

Ул. Ленина > Луганск
Ул. Мира > Луганск

Вопрос в том, как организовать цикл, чтобы раскидать улицы по группам, согласно городу, как указано в первом посте. (нужно для того чтобы сделать в виде вкладок с названием города. Тынц ее - показывает улицы)
то есть
город1 - все улицы города1
город2 - все улицы города 2
и так далее

Спустя 1 час, 14 минут, 15 секунд (19.03.2009 - 08:46) Kuliev написал(а):
Цитата (Grey @ 19.03.2009 - 04:32)
Да это работает, в том смысле что выбирает взаимосвязанные данные из двух таблиц. то есть если сделать так,

$q = "SELECT * FROM cities c LEFT JOIN streets s ON c.id = s.id_sity ";
  $r = mysql_query($q);
  while($arr = mysql_fetch_assoc($r))
      {
        echo $arr['title'].'>'.$arr['title_sity'].'<br>';
      }

то выйдет

Ул. Ленина > Луганск
Ул. Мира > Луганск

Вопрос в том, как организовать цикл, чтобы раскидать улицы по группам, согласно городу, как указано в первом посте. (нужно для того чтобы сделать в виде вкладок с названием города. Тынц ее - показывает улицы)
то есть
город1 - все улицы города1
город2 - все улицы города 2
и так далее

Во первых научитесь пользоваться BBCODE, чтобы люди читающие Ваш код не сломали глаза.

Во вторых выборка из базы была сделана так как тебе нужно
т.е.
Город1 -> улица1
Город1 -> улица2
Город1 -> улица3
Город2 -> улица1
Город2 -> улица2
Город2 -> улица3
Город2 -> улица4

После запроса получаешь данные в цикле while
PHP
<?
while ($row = mysql_fetch_assoc($result))
{

      $city[$row[city]] = $row['city'];

      $city1[$row[city]][] =  $row['street'];


}

      
foreach ($city1 as $k => $v)
     {
             echo $k."<p>";

                   
for ($i = 0; $i < count($city1[$k]); $i++)
                    {

                                echo $city1[$k][$i]."<p>";

                     }

       }

Спустя 23 часа, 12 минут, 18 секунд (20.03.2009 - 07:59) Гость_miha написал(а):
гы, случайно забрел и сразу решение нашел)))
тоьлко не полностью. У меня почти тоже самое только данные другие. Нужно было раскидать машины по маркам и моделям. сделал как в примере выше
while ($row = mysql_fetch_assoc($result))
PHP
{

      
$brand[$row[brand]] = $row['brand'];

      
$brand1[$row[brand]][] =  $row['model'];


}

      foreach (
$brand1 as $k => $v)
     {
             echo 
$k."<p>";

                   for (
$i 0$i count($brand1[$k]); $i++)
                    {

                                echo 
$brand1[$k][$i]."<p>";

                     }

       }


Но мне нужно еще указывать цвет, год выпуска из таблицы моделей.
А здесь получается, в массив попадает только два параметра - марка и модель.
а как организовать массив так, чтобы передать туда много параметров, скажем, пять, чтобы сохранилась группировка. то есть примерно так: выводится сначала все как у grey: название марки || модель1, г.в., цвет, тип кузова, модель2, г.в., цвет, тип кузова и тд.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.