我有一个从mysql填充的php下拉
当用户选择下拉项时,我想将此选定值存储在会话变量
中这样做的原因是,我需要调用此会话变量以根据先前的选择动态更新第二个下拉列表。
我该怎么做? 谢谢,
while ($row2 = mysql_fetch_assoc($result2))
{
echo '<option value="' . $row2['subject_id'] . '">' . $row2['subjectname']. '</option>';
}
echo '</select>';
答案 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变量。
希望这有帮助