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>