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 :: вывод значения в зависимый селект AJAX

 PHP.SU

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


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

> Без описания
imediasun2
Отправлено: 06 Февраля, 2013 - 19:37:11
Post Id


Гость


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


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




Помогите пожалуйста разобраться, буду очень признателен, все кто действительно шарит в php+js
Это файл обработчик к которому обращается AJAX
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include_once '../blocks/bd.php';
  4. $category_id = @intval($_GET['category_id']);
  5.  
  6. $regs=mysql_query("SELECT name_product, id_product  FROM products WHERE id_cat=$category_id");
  7. if ($regs) {
  8. $num = mysql_num_rows($regs);
  9. $regions = array();
  10. for ($i=0; $i<$num; $i++)
  11. $region[$i] = mysql_fetch_row($regs);
  12. $i=0;
  13.  
  14.     foreach ($region as $r) {
  15.         $regions[] = array('id'=>$i, 'title'=>$r);
  16.         $i++;
  17. }
  18. $result = array('type'=>'success', 'regions'=>$regions);
  19. }
  20. else {
  21.     $result = array('type'=>'error');
  22. }
  23.  
  24. /*
  25.  * Упаковываем данные с помощью JSON
  26. */
  27. print json_encode($result);
  28. ?>
  29.  

При этом id в массиве равно порядковому числу num, как сделать так чтобы id было id_product из базы
А выводит js в форму так
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(result.regions).each(function() {
  3. options += '<option value="' + $(this).attr('id') + '">' + $(this).attr('title') + '</option>';
  4. });
  5.  
 
 Top
Stierus Супермодератор
Отправлено: 06 Февраля, 2013 - 19:49:58
Post Id



Рекордсмен по количеству сообщений за 7 дней


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include_once '../blocks/bd.php';
  3. $category_id = array_key_exists('category_id', $_GET)?(int)$_GET['category_id']:0;
  4.  
  5. if($category_id > 0){
  6.     $regs=mysql_query("SELECT name_product, id_product  FROM products WHERE id_cat=$category_id");
  7. }
  8. else{
  9.     $regs = false;
  10. }
  11.  
  12. if ($regs) {
  13.     $num = mysql_num_rows($regs);
  14.     $regions = array();
  15.  
  16.     for ($i=0; $i<$num; $i++){
  17.         $data = mysql_fetch_array($regs, MYSQL_ASSOC);
  18.         $regions[] = array("id" =>$data['id_product'], "title" => $data['name_product']);
  19.     }
  20.     $result = array('type'=>'success', 'regions'=>$regions);
  21. }
  22. else {
  23.     $result = array('type'=>'error');
  24. }
  25. print json_encode($result);

(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include_once '../blocks/bd.php';
  3. $category_id = array_key_exists('category_id', $_GET)?(int)$_GET['category_id']:0;
  4.  
  5. if($category_id > 0){
  6.     $regs=mysql_query("SELECT name_product as title, id_product as id  FROM products WHERE id_cat=$category_id");
  7. }
  8. else{
  9.     $regs = false;
  10. }
  11.  
  12. if ($regs) {
  13.     $num = mysql_num_rows($regs);
  14.     $regions = array();
  15.  
  16.     for ($i=0; $i<$num; $i++){
  17.         $data = mysql_fetch_array($regs, MYSQL_ASSOC);
  18.     }
  19.     $result = array('type'=>'success', 'regions'=>$regions);
  20. }
  21. else {
  22.     $result = array('type'=>'error');
  23. }
  24. print json_encode($result);
 
My status
 Top
imediasun2
Отправлено: 06 Февраля, 2013 - 21:32:48
Post Id


Гость


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


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




первый вариант правильный , спасибо

(Отредактировано автором: 06 Февраля, 2013 - 21:34:33)

 
 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