Wordpress在表单提交后的下拉列表中保留所选值

时间:2018-03-02 01:00:11

标签: php wordpress

我是一个完整的新手,但试图在Wordpress中设计我的第一个网站。我试图保留在提交表单后从数据库中提取值的下拉列表的值。我已经搜索了很多问题,并尝试了许多不同的方法来尝试编写选择="选择"在我的代码中,但似乎没有一个工作。请帮忙。

这是我的代码,它只是从数据库中提取但不是试图保留所选的值:

<select name = "box1" class="searchbox">
<option value = "">All Values</option>

<?php global $wpdb; $ddresult = $wpdb->get_results("SELECT Field1 FROM pc_table ORDER BY Field1 ASC"); foreach($ddresult as $ddrow) { ?> <option value="<?php echo $ddrow->Field1; ?>"><?php echo $ddrow->Field1; ?> </option> <?php } ?> </select>

如何添加代码以在表单提交后保留选定的值?非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个。它会检查是否已提交box1。然后,它将该值与选项循环中的项进行比较。匹配会将$selected设置为正确的属性,否则默认情况下它将保留为空字符串。 (注意:如果表单使用get方法,则将$ POST更改为$ _GET)

<select name = "box1" class="searchbox">
<option value = "">All Values</option>
<?php
global $wpdb;
$ddresult = $wpdb->get_results("SELECT Field1 FROM pc_table ORDER BY Field1 ASC");
foreach($ddresult as $ddrow) {

$selected = '';
if(isset($_POST['box1'])){
  if($ddrow->Field1==$_POST['box1']){ $selected = 'selected="selected"'; }
}
?>
<option value="<?php echo $ddrow->Field1; ?>" <?php echo $selected; ?>><?php echo $ddrow->Field1; ?> </option>
<?php
} ?>
</select>

当然,如果您想将提交的值保存到数据库中,然后在稍后的输出中重新引入它,则此示例当然不包括在内。如果那是你想知道的,那么请发表评论。