php 搜索不显示数据库记录

标签 php html mysql

我在 phpmyadmin 中创建了一个数据库,插入的列和数据很少。现在我可以在浏览器中显示带有记录的表格。但我想要的是通过从数据库中过滤来显示特定值。以下是我编写的代码段。此时,如果我在搜索字段中输入任何值,它不会进行排序,也不会执行任何操作。

        <?php
    if(isset ($_POST['search']))
    {
        $valueToSearch=$_POST['valueToSearch'];
        //$query="SELECT * FROM `books` WHERE CONCAT (`ISBN`, `Title`, `Author`)LIKE '%".$valueToSearch."%'";
        $query="SELECT * FROM books WHERE CONCAT ('ISBN', 'Title', 'Author')LIKE '%".$valueToSearch."%'";
        $serach_result=filterTable($query);
    }else{
        $query="SELECT * FROM books";
        $serach_result=filterTable($query);
    }

    function filterTable($query){

        $connect=mysqli_connect ("localhost", "root", "", "bookstore-new");
        $filter_result=mysqli_query($connect, $query);
        return $filter_result;
  }
    ?>
  <!DOCTYPE html>

    <html>
    <head>

    <title>Lab 4</title>

    <style>
    table, tr, th, td 
    {
        border: 1px solid black;
    }
    </style>
</head>
  <body>
    <form action="bookstorewebdev.php" method="post">

    <input type="text" name="valueToSearch" placeholder="value to search" >
    <br><br>
  <input type="submit" name="Search" value="Filter" ><br><br>
   <table>
    <tr>
    <th>ISBN</th>
    <th>Title</th>
    <th>Author</th>
  </tr>
      <?php while ($row=mysqli_fetch_array($serach_result)):?>
 <tr>
    <td>&nbsp;<?php echo $row['ISBN'];?></td>
    <td>&nbsp;<?php echo $row['Title'];?></td>
    <td>&nbsp;<?php echo $row['Author'];?></td>
    </tr>
  <?php endwhile;?>

  </table>
 </form>
 </body>
    </html>

最佳答案

在您的 html 表单中有:

<input type="submit" name="Search" value="Filter">

Search 变量,但在 php 中你检查 search搜索 != 搜索


您没有检查变量 valueToSearch。它可以是空的。 请求将失败。


关于 concatchris85。为什么需要这个?

关于php 搜索不显示数据库记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37216405/

相关文章:

php - 在 php 中创建多个 html 表时,可以将宽度设置为变量吗?

php - 函数返回 boolean 值而不是适当的值

javascript - 单值或常量值时在 x 轴上绘制的样条图 - highchart

php - 如何从文件中动态删除问号垃圾数据?

import - MySQL导入导致 "server has gone away"错误

php - 如何在php中通过字符串将 "reference"制作成数组

php - 如何在 MySQL 表中存储数组值?

javascript - jQuery 添加无标记的 CSS 属性

MySQL group by 具有多列总和和每组的总和

mysql - 如何在 Mysql 中优化我的代码?