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
Форумы портала PHP.SU :: Версия для печати :: Передать переменую
Форумы портала PHP.SU » » Вопросы новичков » Передать переменую

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

1. ureech - 24 Марта, 2016 - 15:54:48 - перейти к сообщению
Здравствуйте. Пытаюсь сделать сортировку для автокаталога.Которая будет содержать несколько полей.
Выбор авто,выбор модели и тд.Сделал так.В файле model.php написал ф-цию
PHP:
скопировать код в буфер обмена
  1. public function getAuto_Car(){
  2. $auto= array();//здесь результат запроса в базу:title и id
  3.       $html = '<select  name="mark"  style="width:100%">';
  4.       $html .= '<option value="all">All</option>';
  5.             if ($auto){
  6.             foreach($auto as $autos){  
  7.               $auto = htmlspecialchars(icms_ucfirst($autos['title']));              
  8.               $aut = $autos['id'];              
  9.               $s = "paramS";
  10.         $html .= sprintf("<option id='%s' onclick='stor_set(%s);' value='%s' >%s</option>", $aut, $aut, $auto, $auto);              
  11.                                     }
  12.                     }
  13.                  
  14.         $html .= '</select>';
  15.            echo'<script>
  16.                   function stor_set(id){
  17.                   $("#search_auto option").removeClass("selected");
  18.                   $("select option#"+id).addClass("selected");                    
  19.                                         };
  20.                </script>';
  21.  
  22.       return $html;
  23. }

Это первое поле.Теперь мне нужно сделать запрос в базу для второго поля и параметром передать id из
опшион,т.е то что у меня параметром в stor_set(id);Подскажите как можно это дело провернуть?
2. kotyara1979 - 25 Марта, 2016 - 05:58:33 - перейти к сообщению
А каким образом вы хотите организовать функционал?
С перегрузкой страницы - используйте стандартные возможности <form>, они для этого и предназначены.
Без перегрузки страницы - копайте ajax.
Вариантов по сети предостаточно.
3. ureech - 25 Марта, 2016 - 07:21:22 - перейти к сообщению
Да, уже понял, что без аякса не обойтись. Вот только не хочет он работать он у меня.
Сделал так
PHP:
скопировать код в буфер обмена
  1.           echo "
  2.        <script type='text/javascript'>
  3.  
  4.            function stor(id) {
  5.              $.ajax({
  6.              type:'POST',
  7.              url:'/modules/mod_search_auto/module.php',
  8.              data:{auto_id:id},
  9.              success:function(data){                            
  10.                alert(data);    
  11.              };
  12.            });
  13.            }
  14.        </script>          
  15.        ";

В module.php
PHP:
скопировать код в буфер обмена
  1.         if (isset($_POST['auto_id'])) {
  2. print_r('Вы нажали на кнопку: ' . $_POST['auto_id']);
  3. }


Постояно пустой алерт.
4. kotyara1979 - 25 Марта, 2016 - 09:49:37 - перейти к сообщению
Мне как то пришлось делать подобный каскад выбора.
Построено было по другому чутка.

Первый селект формировался так же: в опцион уходили название продукта и в value его айдишник. А вот вызов вешался на onChange самого селекта, а не клик опциона. В функцию передавался id селекта (он же текущий уровень выбора), по нему функция дергала значение селекта. Далее функция передавала текущий уровень выбора и выбранное значение скрипту на сервере.
И на сервере я опрашивал насколько помню REQUEST, а не пост.

Может, чем поможет.
5. ureech - 25 Марта, 2016 - 10:09:49 - перейти к сообщению
kotyara1979, Спасибо, пробую сейчас так же, но пока всё ещё пусто.
6. 3d_killer - 25 Марта, 2016 - 10:13:31 - перейти к сообщению
тип данных укажи в запросе
dataType: 'HTML',
(Добавление)
и поставь FIREBUG убедись что запрос доходит туды /modules/mod_search_auto/module. php
7. ureech - 25 Марта, 2016 - 10:23:14 - перейти к сообщению
3d_killer, Запрос уходит, дата-тип указал, но он по умолчанию и так вроде html.Уже достало. Не хотит, что то где то припятствует Улыбка
8. 3d_killer - 25 Марта, 2016 - 10:36:17 - перейти к сообщению
FIREBUG что пишет?
9. ureech - 25 Марта, 2016 - 10:48:30 - перейти к сообщению
Там только заголовки запроса. Вроде понял.Скорее всего сам аякс не подключился в системе.Пойду поищу.

 

Powered by ExBB FM 1.0 RC1