2015-02-09 44 views
0

我目前有此代码记住上次选择的帖子。记住下拉选项或选择是否GET

<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> 

负载(提交前)列表默认为“选择”。我想要做的是,如果URL有"userid=1"选择用户1,或者如果它是"userid=2",则选择用户2,但保留代码以记住上次选择的内容。

谢谢。

PS - 由于我正在为其编写模块,因此无法使用mysqli或PDO。它被硬编码和加密。

+0

高亮显示或选择? – 2015-02-09 06:07:29

+0

Selected - 编辑后 – CrunchyToast 2015-02-09 07:02:47

回答

0

添加该代码上面 -

$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> 
+0

它的工作原理应该如此,除非帖子在URL中没有'userid'时不记得选择。 – CrunchyToast 2015-02-09 07:25:41

+0

通过删除'$ system_customer =“”;' – CrunchyToast 2015-02-09 07:28:28

0

您可以使用会话或饼干 为EXP:

<?PHP 
Session_start(); 
if (isset ($_POST['system_customer'])) { 
$_SESSION['SELECTED_USER_ID'] = $_POST['system_customer']; 
?> 

,你haave做出一些改变你下拉列表

<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> 

在您选择的形式,你必须检查是否会话如果将该选项置于选定属性,则id等于行。 但是如果你想长时间保存细节,最好使用cookie或数据库,在另一种情况下你不能这样做。