【问题标题】:Select Box option filter选择框选项过滤器
【发布时间】:2016-10-31 08:50:34
【问题描述】:

下面的代码错了吗?

我有一个用于显示数据的不同选择查询的三个选项选择框。我似乎无法让它工作。 表单使用提交按钮提交,其名称和值为 submit。 我还需要检查选择框名称吗?

if(isset($_POST['submit'])) {
  if($_POST['value']=='all_records') {
    $sql = "SELECT *
        FROM contact_list
        ";
  }
  elseif($_POST['value']=='surname_desc') {
    $sql = "SELECT *
            FROM contact_list
            ORDER BY Surname DESC";
  }
  else{
    $sql = "SELECT *
            FROM contact_list
            ORDER BY FirstName ASC";
  }
$results = mysqli_query($dblink, $sql) or die (mysqli_error());
}

我的表格:

  <form class="filteroption" action="" method="post">
          <select class="select" name="select">
            <option value ="all_records" selected="selected">All  records</option>
            <option value ="surname_desc" selected="selected">Surname  Desc</option>
            <option value ="firstname_asc" selected="selected">First Name   Asc</option>
          </select>
            <input  class="" type="submit" name="submit" value="submit">
          </form>

查询不起作用并更改了我的表格的内容。我正在使用 foreach 等从 $results 回显到 thr 表中,这似乎与页面的默认预查询视图配合良好......

【问题讨论】:

  • 您可以发布有问题的表格吗?另外它不起作用怎么办?错误?空白页?
  • 完全正确什么不起作用这不是对您的问题很有帮助的描述

标签: php mysqli


【解决方案1】:

在所有条件下将 $_POST['value'] 替换为 $_POST['select']。 您应该使用选择标签的名称来比较这些值。

我还看到您为选择框中的所有选项添加了selected="selected"。它应该只添加到一个选项中。

【讨论】:

  • 谢谢大家,真的很有帮助!
【解决方案2】:

您选择的名称不是“值”而是“选择”:

if(isset($_POST['submit'])) {
  if($_POST['select']=='all_records') {   //<=========== 'select'
    $sql = "SELECT *
        FROM contact_list
        ";
  }
  elseif($_POST['select']=='surname_desc') {   //<=========== 'select'
    $sql = "SELECT *
            FROM contact_list
            ORDER BY Surname DESC";
  }
  else{
    $sql = "SELECT *
            FROM contact_list
            ORDER BY FirstName ASC";
  }
$results = mysqli_query($dblink, $sql) or die (mysqli_error());
}

【讨论】:

  • 谢谢,我一直在努力解决这个问题!
猜你喜欢
  • 2021-08-30
  • 1970-01-01
  • 2020-07-21
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-19
  • 2015-08-26
相关资源
最近更新 更多