好的,这是我原始代码的一小部分。我有两个页面,一个页面充满了表单和框,然后是另一个页面,将信息放入我的数据库。
Oasis.php页面 这里右边是更改客户端名称和代码的代码。在这整个页面上。关于改变事件。
$sql = "SELECT * FROM client_lookup ORDER BY Client_Full_Name ASC";
$result = mysql_db_query ($dbName, $sql, $dbLink);
$options4="";
while ($row = mysql_fetch_array($result)) {
$id=$row["Client_Code"];
$thing=$row["Client_Full_Name"];
$options4.="<OPTION VALUE=\"$id, $thing\">".$thing;
}
?>
<FORM name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<SELECT NAME="ClientNamefour" OnChange="this.form.submit()">
<OPTION VALUE=0>Client
<?php echo $options4?>
</SELECT>
</FORM>
一旦提交了Oasis.php页面下面的表单,它就会进入流程页面并将信息放入我的数据库中。一旦完成,我有一个标题,让我回到这个页面。但默认情况下,始终返回客户端。
尝试从此下拉列表返回先前选择的客户端时,我使用了此代码。要自动选择上次选择的客户端。
$sql = "SELECT * FROM client_lookup ORDER BY Client_Full_Name ASC";
$result = mysql_db_query ($dbName, $sql, $dbLink);
session_start();
$current = isset($_SESSION['ClientNamefour']) ? $_SESSION['ClientNamefour'] : 0;
$options4="";
while ($row = mysql_fetch_array($result)) {
$id = $row["Client_Code"];
$value = $row["Client_Full_Name"];
$key = "$id, $value";
$selected = ($id == @$_SESSION['ClientNamefour']) ? ' selected' : '';
$options4.="<option value=\"{$key}\"{$selected}>{$value}";
}
?>
<FORM name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<SELECT NAME="ClientNamefour" OnChange="this.form.submit()">
<OPTION VALUE=0>Client
<?php echo $options4?>
</SELECT>
</FORM>
这可行,但onchange事件不起作用!所以它不发布自己。 on change事件是关键或我的整个页面没有填充信息。
答案 0 :(得分:0)
您阅读$_SESSION['ClientNamefour']
但从不写信给我......我认为您将$_SESSION
与$_POST
混为一谈。如果您使用$_POST
,则$_POST['ClientNamefour']
将是<select>
的值,因为<select>
的名称属性为'ClientNamefour'。
另一方面,你永远不会操纵变量$current
而且 - 这可能是我不熟悉的PHP语法 - 当你操纵$_SESSION['ClientNamefour']
之前就有一个商业角色@
$
...