Php 记住选择选项
我有以下表格:Php 记住选择选项,php,Php,我有以下表格: <form method='POST' action='update_ads.php'> <select size='1' name='type'> <OPTION value=''></OPTION> <OPTION value='1'>Open</OPTION> <OPTION value='0'>Closed</OPTION> </select>
<form method='POST' action='update_ads.php'>
<select size='1' name='type'>
<OPTION value=''></OPTION>
<OPTION value='1'>Open</OPTION>
<OPTION value='0'>Closed</OPTION>
</select>
<input type='submit' value='Save'>
</form>
我可以添加什么,以便用户在单击“提交”之前选择的选项在重新打开时返回?谢谢 将此表单放入字符串($form)中并执行以下操作
$form = str_replace(" value='".$id."'>"," value='".$id."' selected>", $form);
echo $form;
您可以在cookie中记住$id。当用户加载页面时,您必须检查数据库中的当前选择 然后根据选择更改html:
打开
关闭
或
打开
关闭
顺便说一下,您的
ID
尚未在此表单中设置。您也需要避免这种情况您可以这样做:
<?php
if (isset($_POST['id']) && ((int) $_POST['id'])) != 0) {
$id = $_POST['id'];
}
//connect to db
//get the responce of the query "SELECT `type` FROM `ads` WHERE `id` = $id"
//put it in a variable named $type
?>
<form method="POST" action="">
<select size='1' name='type'>
<option value="" <?=($type == '') ? 'selected="selected"' : ''?>></option>
<option value="1" <?=($type == 1) ? 'selected="selected"' : ''?>>Open</option>
<option value="0" <?=($type == 2) ? 'selected="selected"' : ''?>>Closed</option>
</select>
</form>
并不是最好的解决方案,但它并不知道这是怎么回事
<select size="1" name="type">
<option value=""></option>
<option value="1"<?= $_POST['type']==1 ? " selected" : ""?>></option>
<option value="0"<?= $_POST['type']==0 ? " selected" : ""?>></option>
</select>
>
顺便说一句:你可能想看一看谢谢你的帮助,但我需要将状态存储在数据库中,以便任何日志记录者都能看到相同的状态我选择了这是唯一的2个选择,但我只需要知道方法,然后我就可以看到其他方法(foreach)我需要知道的最后一件事就是如何从数据库的状态表中获取数组?数组(1,2,3,4)变成例如数组(打开,关闭,删除),如果你想从数据库中获取状态,你需要向我们提供它的结构。您也可以考虑使用类似的框架。我认为您正在以困难的方式学习php;)@约翰:你是对的,我觉得我的学习方式很难而且是错误的:(我不知道如何开始,所以我不会问这个愚蠢的问题)退出,然后退出。这会让你加快速度,而不会破坏你在这里的声誉。谢谢你的帮助,我会检查它
<?php
$options = array('Open' => 1, 'Closed' => 0, 'Select an option' => ''); ?>
<form method="POST" action="">
<select size='1' name='type'>
<?php
foreach($options as $label => $option) {
if ($type == $option) {
$checked = 'selected="selected"';
}
else {
$checked = '';
}
?>
<option value="<?=$option?>" <?=$checked?>><?=$label?></option>
<?php
}
?>
</select>
</form>
<select size="1" name="type">
<option value=""></option>
<option value="1"<?= $_POST['type']==1 ? " selected" : ""?>></option>
<option value="0"<?= $_POST['type']==0 ? " selected" : ""?>></option>
</select>