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 :: While в while (Вывод городов и стран)

 PHP.SU

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


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

> Без описания
twelveee
Отправлено: 28 Июня, 2015 - 15:46:19
Post Id


Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Янв. 2013  


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




CODE (htmlphp):
скопировать код в буфер обмена
  1. $get_all = $db->query("SELECT * FROM ".PREFIX."_shop_cities WHERE type='0'");   # Берем страны
  2. while($row = $db->get_row($get_all)){
  3.         $get_regions = $db->query("SELECT * FROM ".PREFIX."_shop_cities WHERE god='$row[id]' AND type='1'"); # Регионы
  4.         while($row2 = $db->get_row($get_regions)){
  5.                 $get_cities = $db->query("SELECT * FROM ".PREFIX."_shop_cities WHERE god='$row2[id]' AND type='2'"); # города
  6.                 while($row3 = $db->get_row($get_cities)){
  7.                         $tpl->load_template("eshop/citylist.tpl");
  8.                         $tpl->set("{city_name}", "<li>".$row3["name_ru"]."</li>");
  9.                         $tpl->compile("cities");
  10.                         $tpl->clear();
  11.                 }
  12.                 $tpl->load_template("eshop/regionslist.tpl");
  13.                 $tpl->set("{region_name}", $row2["name_ru"]);
  14.                         $tpl->set("{cities}", $tpl->result["cities"]);
  15.                 $tpl->compile("regions");
  16.                 $tpl->clear();
  17.         }
  18.         $tpl->load_template("eshop/countrylist.tpl");
  19.         $tpl->set("{name_country}", $row["name_ru"]);
  20.         $tpl->set("{regions}", $tpl->result["regions"]);
  21.         $tpl->compile("citylist");
  22.         $tpl->clear();
  23. }


Выводит что то типа:
Россия
Московская область
Москва
Новосибирская Область
Москва
Новосибирск

А нужен вывод для каждой области отдельные города
 
 Top
Alex1984
Отправлено: 29 Июня, 2015 - 11:35:50
Post Id


Новичок


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


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




Не совсем про города но смысл тот же

array1 = SELECT 'id', 'name' ,'categories', 'parent' FROM 'navigation' WHERE 'parent=0'
array2 = SELECT 'id', 'name' ,'categories', 'parent' FROM 'navigation' WHERE 'parent>0'

PHP:
скопировать код в буфер обмена
  1.  
  2.         $cat = array1;
  3.         $sub_cat = array2;
  4.  
  5.         $tmp_arr = array();
  6.  
  7.         array_push($tmp_arr, '<ul>');
  8.  
  9.         foreach($cat as $tmp)
  10.         {
  11.                 array_push($tmp_arr, '<li> <a href="/'.$tmp[2].'">'.$tmp[1].'</a>');
  12.                 array_push($tmp_arr, '<ul>');
  13.  
  14.                 foreach($sub_cat as $tmp1)
  15.                 {
  16.                     if($tmp[0] == $tmp1[3])
  17.                     {
  18.                         array_push($tmp_arr, '<li> <a href="' . $tmp[2] . '/' . $tmp1[2] . '">' . $tmp1[1] . '</a>');
  19.                     }
  20.                 }
  21.                 array_push($tmp_arr, '</ul>');
  22.                 array_push($tmp_arr, '</li>');
  23.  
  24.             }
  25.             array_push($tmp_arr, '</li>');
  26.  
  27.         $res = implode(' ', $tmp_arr);
  28.  

(Отредактировано автором: 29 Июня, 2015 - 11:36:53)

 
 Top
twelveee
Отправлено: 29 Июня, 2015 - 14:49:28
Post Id


Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Янв. 2013  


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




Alex1984 пишет:
Не совсем про города но смысл тот же

array1 = SELECT 'id', 'name' ,'categories', 'parent' FROM 'navigation' WHERE 'parent=0'
array2 = SELECT 'id', 'name' ,'categories', 'parent' FROM 'navigation' WHERE 'parent>0'

PHP:
скопировать код в буфер обмена
  1.  
  2.         $cat = array1;
  3.         $sub_cat = array2;
  4.  
  5.         $tmp_arr = array();
  6.  
  7.         array_push($tmp_arr, '<ul>');
  8.  
  9.         foreach($cat as $tmp)
  10.         {
  11.                 array_push($tmp_arr, '<li> <a href="/'.$tmp[2].'">'.$tmp[1].'</a>');
  12.                 array_push($tmp_arr, '<ul>');
  13.  
  14.                 foreach($sub_cat as $tmp1)
  15.                 {
  16.                     if($tmp[0] == $tmp1[3])
  17.                     {
  18.                         array_push($tmp_arr, '<li> <a href="' . $tmp[2] . '/' . $tmp1[2] . '">' . $tmp1[1] . '</a>');
  19.                     }
  20.                 }
  21.                 array_push($tmp_arr, '</ul>');
  22.                 array_push($tmp_arr, '</li>');
  23.  
  24.             }
  25.             array_push($tmp_arr, '</li>');
  26.  
  27.         $res = implode(' ', $tmp_arr);
  28.  


Огромное спасибо!
CODE (htmlphp):
скопировать код в буфер обмена
  1.  $cat = $db->query("SELECT * FROM ".PREFIX."_shop_cities WHERE type='0'");
  2.         $sub_cat = $db->query("SELECT * FROM ".PREFIX."_shop_cities WHERE type='1'");
  3.                         $sub_sub_cat = $db->query("SELECT * FROM ".PREFIX."_shop_cities WHERE type='2'");
  4.         $tmp_arr = array();
  5.  
  6.         foreach($cat as $tmp)
  7.         {
  8.                 array_push($tmp_arr, "<h3>".$tmp["name_ru"]."</h3><hr>");
  9.  
  10.                 foreach($sub_cat as $tmp1)
  11.                 {
  12.                     if($tmp["id"] == $tmp1["god"])
  13.                     {
  14.                         array_push($tmp_arr, '<b>' . $tmp1["name_ru"] . '</b><br>');
  15.                                                                 foreach($sub_sub_cat as $tmp2)
  16.                                                                                 {
  17.                                                                                         if($tmp1["id"] == $tmp2["god"])
  18.                                                                                                 {
  19.                                                                                                          array_push($tmp_arr, ' <a href="' . $tmp[2] . '/' . $tmp1[2] . '">' . $tmp2["name_ru"] . '</a><br>');
  20.                                                                                                 }
  21.                                                                                 }
  22.                     }
  23.                 }
  24.  
  25.  
  26.             }
  27.  
  28.         $res = implode(' ', $tmp_arr);


Потом просто $res в тег записывать, через шаблонизатор и готово!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB