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 :: Массивы И Foreach

 PHP.SU

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


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

> Описание: совсем запарился, помогите пожалуйста!
vasnihaev
Отправлено: 29 Июня, 2011 - 18:57:42
Post Id


Новичок


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


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




Здравствуйте! Помогите пожалуйста с кодом, уже делал всё что можно, но не работает. Этот код обрабатывает ajax-запрос в динамических селекторах .
Т.е. выбираем страну, во втором селекторе подгружаются регионы.
PHP:
скопировать код в буфер обмена
  1. <?
  2. $country_id = @intval($_GET['country_id']);
  3.  
  4. if (file_exists(dirname(__FILE__) . '/' . $country_id . '.txt')) {
  5.     $regions = array();
  6.     $regs = file(dirname(__FILE__) . '/' . $country_id . '.txt');
  7.     $i=1;
  8.     foreach ($regs as $r) {
  9.         $regions[] = array('id'=>$i, 'title'=>trim($r));
  10.         $i++;
  11.     }
  12.    
  13.     $result = array('type'=>'success', 'regions'=>$regions);
  14. }
  15. else {
  16.     $result = array('type'=>'error');
  17. }
  18.  
  19.  
  20. print json_encode($result);
  21.  
  22. ?>


Get параметром передается id страны, потом открывается соответствующий текстовый файл со списками городов.
Ну и дальше пляски с массивами, в который помещаются данные. Этот код я понял.

Мне нужно сделать выборку городов и их id не из текстового файла, а из базы.
Я сделал запрос в базу, а вот дальше не пойму в какой массив помещать выборку, и как обработать это циклом foreach, ведь из текстового файла брались только города, а id счетчик делал, а беря из базы получаем и id и city name.

PHP:
скопировать код в буфер обмена
  1. <?
  2. $country_id = @intval($_GET['country_id']); // получил id города
  3.  
  4. $regs = mysql_query("SELECT id, city_name FROM jb_city WHERE parent=".$country_id." ORDER by sort_index"); cq(); // сделал запрос
  5. $regs = mysql_fetch_assoc($regs); // это правильно?
  6.  
  7.      // дальше не трогаю, так как уже трогал - не получилось
  8.     $regions = array();
  9.    
  10.     $i=1;
  11.     foreach ($regs as $r) {
  12.         $regions[] = array('id'=>$i, 'title'=>trim($r)); // как вот сюда вставить $regs['id'] и $regs['city_name']
  13.                                                                 // или так не получится?
  14.         $i++;
  15.     }
  16.    
  17.     $result = array('type'=>'success', 'regions'=>$regions);
  18.  
  19.  
  20.  
  21.  
  22. print json_encode($result);
  23.  
  24. ?>


4 часа с этим проковырялся, помогите пожалуйста.
 
 Top
Slavenin
Отправлено: 29 Июня, 2011 - 19:53:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


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




подправить ваш код легко, но попробуйте сделать это сами, маленькая подсказка: сделайте

и
PHP:
скопировать код в буфер обмена
  1. foreach ($regs as $r)
  2.    {
  3.         print_r($r);
  4.         $regions[] = array('id'=>$i, 'title'=>trim($r));
  5.         $i++;
  6.     }


надеюсь все сразу встанет на свои места Подмигивание
 
 Top
vasnihaev
Отправлено: 30 Июня, 2011 - 09:44:49
Post Id


Новичок


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


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




Спасибо Вам за подсказку!
Была проблема в том, что скрипт не мог соединиться с БД, я положил скрипт в другой каталог и сделал вот так
PHP:
скопировать код в буфер обмена
  1. <?
  2.  include("admin/conf.php");
  3.  
  4.  
  5.  
  6.  
  7. $country_id = @intval($_GET['country_id']);
  8.  
  9. $regs = mysql_query("SELECT id, city_name FROM jb_city WHERE parent=".$country_id." ORDER by sort_index");
  10.  
  11.  
  12. $regions = array();
  13.  
  14.  
  15. while ($regs2 = mysql_fetch_assoc($regs)){
  16.        
  17.         $regions[] = array('id'=>$regs2['id'], 'title'=>$regs2['city_name']);
  18.        
  19.         }
  20.  
  21.  
  22.        
  23.     $result = array('type'=>'success', 'regions'=>$regions);
  24.  
  25. print json_encode($result);
  26.  
  27.  
  28. ?>

и всё заработало. До этого так делал, но не работало из-за проблемы коннекта с БД - о чем я и не догадывался.
Еще раз Спасибо!

(Отредактировано автором: 30 Июня, 2011 - 09:45:38)

 
 Top
komprenda
Отправлено: 30 Июня, 2011 - 10:47:50
Post Id


Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Май 2011  


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




vasnihaev пишет:
Спасибо Вам за подсказку!
Была проблема в том, что скрипт не мог соединиться с БД, я положил скрипт в другой каталог и сделал вот так
PHP:
скопировать код в буфер обмена
  1. <?
  2.  include("admin/conf.php");
  3.  
  4.  
  5.  
  6.  
  7. $country_id = @intval($_GET['country_id']);
  8.  
  9. $regs = mysql_query("SELECT id, city_name FROM jb_city WHERE parent=".$country_id." ORDER by sort_index");
  10.  
  11.  
  12. $regions = array();
  13.  
  14.  
  15. while ($regs2 = mysql_fetch_assoc($regs)){
  16.        
  17.         $regions[] = array('id'=>$regs2['id'], 'title'=>$regs2['city_name']);
  18.        
  19.         }
  20.  
  21.  
  22.        
  23.     $result = array('type'=>'success', 'regions'=>$regions);
  24.  
  25. print json_encode($result);
  26.  
  27.  
  28. ?>

и всё заработало. До этого так делал, но не работало из-за проблемы коннекта с БД - о чем я и не догадывался.
Еще раз Спасибо!


error_reporting(E_ALL); всегда
 
 Top
vasnihaev
Отправлено: 30 Июня, 2011 - 11:09:59
Post Id


Новичок


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


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




Спасибо, буду знать. Я не ... , я только учусь.
 
 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