установка переменных сеанса в выпадающее меню выбранного пункта - PullRequest
0 голосов
/ 26 августа 2011

У меня есть php выпадающий список, который заполняется из mysql

Когда пользователь выбирает выпадающий элемент, я хотел бы сохранить это выбранное значение в переменной сеанса

Причина для этого заключается в том, что мне нужно вызвать эту переменную сеанса для динамического обновления второго раскрывающегося списка на основе предыдущего выбора.

как я могу это сделать? Спасибо,

while ($row2 = mysql_fetch_assoc($result2))
                                            {
                                            echo '<option value="' . $row2['subject_id'] . '">' . $row2['subjectname']. '</option>';
                                            }
                                            echo '</select>';

Ответы [ 2 ]

0 голосов
/ 26 августа 2011

Как упоминалось в предыдущем комментарии, для «динамического» обновления переменной сеанса вам нужно использовать javascript (jQuery - хорошая библиотека для использования).Если вы добавляете обработчики событий в выпадающий список: onChange='updateVar();', а затем создаете функцию javascript для обновления значения переменной.Одним из способов работы этой функции является использование ajax для вызова страницы php, которая обновляет переменную сеанса.

Пример jQuery:

 $("select[name='dropdownBox']").change(function() { //event handler
        newvalue = $(this).val(); //get selected value
        $.ajax({
                    type : 'GET',
                    url : 'ajax.php',
                    dataType : 'json',
                    data : {
                        p : 'updateVar',
                        v : newvalue
                    },
                    success : function(data) {
                       //on success code
                    },
                    error : function(XMLHttpRequest, textStatus, errorThrown) {
                       //on error code
                    }
                });
 } );

Тогда вам просто нужен простой скрипт php, который захватываетпеременные $ _GET и обновления требуемых переменных $ _SESSION.

Надеюсь, это поможет

0 голосов
/ 26 августа 2011

Вы не можете сделать это в PHP без вызова другого файла PHP, например, отправив форму. Код для установки переменной сеанса тривиален:

<?php

session_start();
$_SESSION['selectname'] = $_REQUEST['selectname'];

?>
...