记住下拉项 OR select if GET
Remember dropdown item OR select if GET
我目前有这个代码来记住 post 上的最后一个 selected 项目。
<select tabindex="1" name="system_customer">
<option value="Choose">- Choose a Customer -</option>
<?PHP while ($row = mysql_fetch_array($result_get_users))
{
echo "<option value='".$row['id']."'";
echo $system_customer == $row['id'] ? 'selected="selected"' : '';
echo ">".$row['firstname']." ".$row['lastname']."</option>";
} ?>>
</select>
加载时(提交前)列表默认为 "Choose"。我想做的是,如果 URL 有 "userid=1"
到 select 用户 1,或者如果它是 "userid=2"
那么 select 用户 2,但是保持记住最后一个 selected.
的代码
谢谢。
PS - 由于我正在为其编写模块的软件,无法使用 mysqli 或 PDO。它是硬编码和加密的。
您可以使用会话或cookie
对于 exp :
<?PHP
Session_start();
if ( isset ( $_POST['system_customer'] ) ) {
$_SESSION['SELECTED_USER_ID'] = $_POST['system_customer'];
?>
并且您必须在下拉列表中进行一些更改
<select tabindex="1" name="system_customer">
<option value="Choose">- Choose a Customer -</option>
<?PHP while ($row = mysql_fetch_array($result_get_users)) {
echo "<option value='".$row['id']."'";
echo $_SESSION['SELECTED_USER_ID'] == $row['id'] ? 'selected="selected"' : '';
echo ">".$row['firstname']." ".$row['lastname']."</option>";
}
?>>
</select>
在您的 select 表单中,您必须检查会话 ID 是否等于行,然后为该选项添加 selected 属性。
但如果你想长时间保存细节,最好使用 cookie 或数据库,在其他情况下你不能这样做。
将此添加到您的代码上方 -
$system_customer = "";
if (!empty($_GET['userid'])) {
$system_customer = $_GET['userid'];
}
然后 -
<select tabindex="1" name="system_customer">
<option value="Choose">- Choose a Customer -</option>
<?PHP
while ($row = mysql_fetch_array($result_get_users)) {
echo "<option value='".$row['id']."'";
echo $system_customer == $row['id'] ? 'selected' : '';
echo ">".$row['firstname']." ".$row['lastname']."</option>";
}
?>
</select>
我目前有这个代码来记住 post 上的最后一个 selected 项目。
<select tabindex="1" name="system_customer">
<option value="Choose">- Choose a Customer -</option>
<?PHP while ($row = mysql_fetch_array($result_get_users))
{
echo "<option value='".$row['id']."'";
echo $system_customer == $row['id'] ? 'selected="selected"' : '';
echo ">".$row['firstname']." ".$row['lastname']."</option>";
} ?>>
</select>
加载时(提交前)列表默认为 "Choose"。我想做的是,如果 URL 有 "userid=1"
到 select 用户 1,或者如果它是 "userid=2"
那么 select 用户 2,但是保持记住最后一个 selected.
谢谢。
PS - 由于我正在为其编写模块的软件,无法使用 mysqli 或 PDO。它是硬编码和加密的。
您可以使用会话或cookie 对于 exp :
<?PHP
Session_start();
if ( isset ( $_POST['system_customer'] ) ) {
$_SESSION['SELECTED_USER_ID'] = $_POST['system_customer'];
?>
并且您必须在下拉列表中进行一些更改
<select tabindex="1" name="system_customer">
<option value="Choose">- Choose a Customer -</option>
<?PHP while ($row = mysql_fetch_array($result_get_users)) {
echo "<option value='".$row['id']."'";
echo $_SESSION['SELECTED_USER_ID'] == $row['id'] ? 'selected="selected"' : '';
echo ">".$row['firstname']." ".$row['lastname']."</option>";
}
?>>
</select>
在您的 select 表单中,您必须检查会话 ID 是否等于行,然后为该选项添加 selected 属性。 但如果你想长时间保存细节,最好使用 cookie 或数据库,在其他情况下你不能这样做。
将此添加到您的代码上方 -
$system_customer = "";
if (!empty($_GET['userid'])) {
$system_customer = $_GET['userid'];
}
然后 -
<select tabindex="1" name="system_customer">
<option value="Choose">- Choose a Customer -</option>
<?PHP
while ($row = mysql_fetch_array($result_get_users)) {
echo "<option value='".$row['id']."'";
echo $system_customer == $row['id'] ? 'selected' : '';
echo ">".$row['firstname']." ".$row['lastname']."</option>";
}
?>
</select>