如何在搜索栏上隐藏结果表?

时间:2017-07-03 00:23:35

标签: javascript php jquery mysql html5

我的编码不是很好,我需要帮助我的代码。我有一个代码可以在数据库中搜索。现在它显示了数据库中的所有数据,当有人搜索时,它会过滤掉并在同一个表上显示结果。我只想显示结果,当有人在搜索栏上搜索时,它应该显示我过滤的数据。否则,我的桌子应该被隐藏。

任何人都可以告诉我该怎么做。非常感谢你的时间。

  <?php
    if(isset($_POST['search']))
    {
        $valueToSearch = $_POST['valueToSearch'];
        // search in all table columns
        // using concat mysql function
        $query = "SELECT * FROM `ADDRESS` WHERE CONCAT(`ID`, `STATE`) LIKE '%".$valueToSearch."%'";
        $search_result = filterTable($query);

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

    // function to connect and execute the query
    function filterTable($query)
    {
        $connect = mysqli_connect("localhost:3306", "root", "dbadmin", "simplymac");
        $filter_Result = mysqli_query($connect, $query);
        return $filter_Result;
    }

     ?>


    <!DOCTYPE html>
    <html>
        <head>
            <title>SimplyMac PO Tracking Tool</title>
            <link rel="stylesheet" type="text/css" href="stylesheet.css">
           <style>

            </style>
        </head>
        <body>
          <div class="images-wrapper">

        <img class="Large" src="/dbadmin/Images/simplymac_logo.png" width="320" height="140" />
          </div>
            <form action="index.php" method="post">
              <div class="wrap">
                <center><h3>PO TRACKING TOOL</h3></center>
                <center><table>
                  <tr>
                    <td><input type="text" name="valueToSearch" placeholder="Enter Purchase Order (PO#) Number" size="100" class="searchbar"></td>
                    <td><input type="submit" name="search" value="SEARCH" class="Button"></td>
                  </tr>
                </table></center>
              </div>
               <table class="resultdata">
                   <tr>
                        <th>ID</th>
                        <th>ADDRESS_LINE_1</th>
                        <th>ADDRESS_LINE_2</th>
                        <th>CITY</th>
                        <th>STATE</th>
                        <th>ZIP</th>
                    </tr>
                    <?php while($row = mysqli_fetch_array($search_result)):?>
                    <tr>
                        <td><?php echo $row['ID'];?></td>
                        <td><?php echo $row['ADDRESS_LINE_1'];?></td>
                        <td><?php echo $row['ADDRESS_LINE_2'];?></td>
                        <td><?php echo $row['CITY'];?></td>
                        <td><?php echo $row['STATE'];?></td>
                        <td><?php echo $row['ZIP'];?></td>

                    </tr>
                    <?php endwhile;?>
                </table>
            </form>

        </body>
    </html>

1 个答案:

答案 0 :(得分:0)

您可以使用ajax解决问题。 当客户在当时输入文本框时调用一个java脚本函数,在此函数中获取文本框值并为结果表调用ajax。

function getResult(search)
{
	var file_path = '';//your php file path
	$.ajax({
		type: "POST",
		url: file_path,
		data: search,
		cache: false,
		success: function(result){
			//print result in one div
		}
	});
}
 <input type="submit" name="search" value="SEARCH" class="Button" onClick="getResult(this.value);">