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

Php 如何根据搜索结果动态更改表中的数据?,php,mysql,search,dynamic,Php,Mysql,Search,Dynamic,我试图构建一个页面,显示在html表中搜索的数据。我在页面上设置了搜索字段和按钮,还有一个显示当前所有数据的小表格。我需要它根据搜索字段中的单词主动更改表中显示的数据 编辑: 如何根据搜索字段中的文本动态更改表中的数据 <?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database name"; // Creat

我试图构建一个页面,显示在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();
    ?> 

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


但是,这需要对代码进行重新分解,并拆分前端和后端逻辑。

@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`";
}

你有问题吗?对不起,我忘了添加最后一行,现在将编辑帖子并更新。很抱歉给您带来不便,请看一下ajax和jquery。首先看一下MVC模式,这将在将来节省大量时间。如果您需要帮助,我将尝试一下