如何根据搜索结果动态更改表格中的数据?

时间:2015-04-15 08:07:40

标签: php mysql search dynamic

我正在尝试构建一个页面,显示在html表中搜索过的数据。我在页面上设置了搜索字段和按钮,还有一个显示当前所有数据的小表。我需要它根据搜索字段中的单词主动更改表格中显示的数据。

编辑:

如何根据搜索字段中的文本动态更改表格中的数据?

<?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "database name";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "SELECT clientname, clientsurname, address1, postcode, dob FROM clients";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
        echo "<table><tr><th>Name</th><th>Surname</th><th>Address</th><th>Postcode</th><th>Date of Birth</th></tr>";
        // output data of each row
        while($row = $result->fetch_assoc()) {
            echo "<tr><td>".$row["clientname"]."</td><td>".$row["clientsurname"]."</td><td>".$row["address1"]."</td><td>".$row["postcode"]."</td><td>".$row["dob"]."</td></tr>";
        }
        echo "</table>";
    } else {
        echo "There are 0 clients in the system matching your search criteria";
    }
    $conn->close();
    ?> 

2 个答案:

答案 0 :(得分:0)

最好的解决方案是为后端创建一个ajax请求,搜索数据库并返回一个json响应,该响应会附加到你的html中。

然而,这需要重新分解代码并拆分前端和后端逻辑。

答案 1 :(得分:0)

@eselskas说的话+如果你想搜索搜索栏中的给定值,你需要更改查询。

$sql = "SELECT clientname, clientsurname, address1, postcode, dob FROM `clients` WHERE `your_field` LIKE '%$_POST[search_var]%'";

或更好:

if($_POST['change_var'] != ""){
   $sql = "SELECT clientname, clientsurname, address1, postcode, dob FROM `clients` WHERE `your_field` LIKE '%$_POST[search_var]%'";
}else{
   $sql = "SELECT clientname, clientsurname, address1, postcode, dob FROM `clients`";
}