【问题标题】:Search button not displaying results搜索按钮不显示结果
【发布时间】:2016-09-20 16:39:42
【问题描述】:

我的导航页面中有这个输入框和按钮

 form class="navbar-form"
 div class="form-group"
 form action="search.php" method="POST">
 input type="text" class="form-control" name="search"  
 placeholder="Search for Products..."
 input type="submit" value="Submit"
 /form
 /div
 /form

它位于我的 index.php 页面的顶部和我的 search.php $输出 = '';

<!--collect -->
if(isset($_POST['search'])) {
    $searchQ = $_POST['search'];
    $searchQ = preg_replace("#[^0-9a-z]#i","",$searchQ);
    $query = mysql_query("SELECT * FROM products WHERE title LIKE 
    '%$searchQ%' OR part_number LIKE '%$searchQ%' OR stock_code LIKE 
    '%$searchQ%' OR form_factor LIKE '%$searchQ%' ") or die("could not 
    search!");
    $count = mysqli_num_rows($query);
    if($count == 0) {
        $output = '"There was no search results"';
    } else {
        while($row = mysql_fetch_array($query)) {
            $title      = $row['title'];
            $partNumber = $row['part_number'];  
            $stockCode  = $row['stock_code'];   
            $formFactor = $row['form_factor'];
            $id         = $row['id'];

            $output .= '<div>'.$title.' </div>';
        }
    }
}

当我单击按钮时,网址来自 http://localhost/alphacomponents.co.uk/index.phphttp://localhost/alphacomponents.co.uk/index.php?search=Asus

我有开发工具并没有出现任何错误。 有什么想法吗?

【问题讨论】:

  • 您正在混合数据库驱动程序。 mysqli_num_rows 无法与 mysql_* 一起使用,请将所有内容更新为 mysqli。也可以使用参数化查询。
  • 我把所有的mysql都改成mysqli了,还是不行。还是一样的结果??
  • 您是否在某处回显了生成的查询并手动尝试以确保它确实返回了您认为应该返回的内容?
  • 用新代码更新问题。

标签: php jquery html search


【解决方案1】:

我想发表评论,但没有足够的声誉。

问题是因为您在另一个表单中有一个表单吗?因此您要提交外部表单 - 这不是您要提交的表单?

您可以尝试下面的表格,然后检查它是否正确导航到 search.php 页面。

<form class="navbar-form" action="search.php" method="POST">
<div class="form-group">
    <input type="text" class="form-control" name="search" placeholder="Search for Products...">
    <input type="submit" value="Submit">
</div>

【讨论】:

    【解决方案2】:

    主要问题是网址从http://localhost/alphacomponents.co.uk/index.php变为http://localhost/alphacomponents.co.uk/index.php?search=Asus

    它应该转到http://localhost/alphacomponents.co.uk/search.php

    您需要删除嵌套表单。像这样写:

    form class="navbar-form" action="search.php" method="POST"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      • 2021-01-25
      • 2016-05-07
      • 1970-01-01
      • 2021-12-31
      相关资源
      最近更新 更多