填充表格,在PHP中搜索关键字

时间:2017-04-19 01:46:40

标签: php jquery html forms phpmyadmin

首先发布在这里。我是一个非常新的PHP和我在互联网上做过的所有研究,这段代码是我能找到接近我答案的最接近的东西。

问题:我正在尝试从用户存储的PhpMyAdmin中获取本地数据库中的图书数据。用户将搜索关键字,并在表格中显示紧密匹配的项目的结果。就像craigslist当你输入一个关键字并显示相关结果但这一次,它在一个表中,“ISBN,Title,Author,Class,Edition”作为字段。我与我在PhpMyAdmin本地创建的名为nextbook的数据库建立了连接。

以下是整个文件“View_Search_Results_Table.php”,但分为两部分:

<?php
    if(isset($_POST['search'])) {


       $valueToSearch = $_POST['valueToSearch'];

       $query = "SELECT * FROM `books` WHERE CONCAT('ISBN', 'Title',
                'Author', 'Class', 'Edition') LIKE '%".$valueToSearch."%'";

       $search_result = filterTable($query);

    }

    else {
       $query = "SELECT * FROM books";
       $search_result = filterTable($query);
    }


   function filterTable($query)
   {
   $connect = mysqli_connect("localhost", "Admin1", "local", "nextbook");
   $filter_Result = mysqli_query($connect, $query);
   return $filter_Result;
   }

?>



 <!DOCTYPE html>
 <html lang="en">
 <head>

     <meta charset="UTF-8" >

     <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
     </script>
     <script src="http://ie7-
      js.googlecode.com/svn/version2.1(beta4)/IE9.js">
     </script>

     <meta name="viewport" content="width=device-width, initial-scale=1, 
      maximum-scale=1">


     <link rel="stylesheet" 
      href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"
     />
     <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
     <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-
      1.4.5.min.js"></script>

</head>
<body>

<form action="View_Search_Results_Table.php" method="post">

    <input type="text" name="valueToSearch" placeholder="Value To Search">
    <br><br>
    <input type="submit" name="search" value="Filter"><br><br>

    <table border="1px solid black;">
        <tr>
            <th>ISBN</th>
            <th>Title</th>
            <th>Author</th>
            <th>Class</th>
            <th>Edition</th>
       </tr>

    <?php while($row = mysqli_fetch_array($search_result)):?>
        <tr>
            <td><?php echo $row['ISBN'];?></td>
            <td><?php echo $row['Title'];?></td>
            <td><?php echo $row['Author'];?></td>
            <td><?php echo $row['Class'];?></td>
            <td><?php echo $row['Edition'];?></td>
        </tr>
    <?php endwhile;?>
</table>
</form>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

你能告诉我你的$ _POST ['valueToSearch']值是什么样的吗?这只是从一个输入字段生成的吗?

您最需要的是更新的查询。首先尝试..

$query = "SELECT * FROM `books` WHERE `ISBN` LIKE '%".$valueToSearch."%' OR `Title` LIKE '%".$valueToSearch."%' OR 
                `Author` LIKE '%".$valueToSearch."%' OR `Class` LIKE '%".$valueToSearch."%' OR `Edition` LIKE '%".$valueToSearch."%'";

此查询需要进一步完善,但我需要了解有关您的输入和表格的更多信息。