将会话变量设置为下拉菜单选择项

时间:2011-08-26 06:51:08

标签: php mysql drop-down-menu session-variables

我有一个从mysql填充的php下拉

当用户选择下拉项时,我想将此选定值存储在会话变量

这样做的原因是,我需要调用此会话变量以根据先前的选择动态更新第二个下拉列表。

我该怎么做? 谢谢,

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

2 个答案:

答案 0 :(得分:0)

如果不调用另一个PHP文件,不能在PHP中执行此操作,例如:发送表格。设置会话变量的代码很简单:

<?php

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

?>

答案 1 :(得分:0)

如前所述,为了“动态”更新会话变量,您必须使用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变量。

希望这有帮助