我想搜索和过滤表中的数据,但我不知道该怎么做,因为我目前正在学习 php。 这是我用于搜索数据的 php 脚本
<?php require('./conn.php'); if (isset($_POST['search'])) { $valueToSearch = $_POST['query']; // search in all table columns // using concat mysql <function></function> $query = "SELECT * FROM `user_2` WHERE CONCAT(`firstname`, `lastname`) LIKE '%" . $valueToSearch . "%'"; $search_result = filterTable($query); } else { $query = "SELECT * FROM `user_2`"; $search_result = filterTable($query); } // function to connect and execute the query function filterTable($query) { $connect = mysqli_connect("localhost", "root", "", "info"); $filter_Result = mysqli_query($connect, $query); return $filter_Result; } ?>
这是我的输入字段搜索
<form action="index.php" method="post" enctype="multipart/data-form"> <table align="center"> <tr> <td> Search: <input type="text" name="query"> <input type="submit" value="search" name="search"> </td> </tr> </table> </form>
这是我在 php 中的表格,我想在这个表格中显示我想要搜索的数据
<table align="center" border="5" cellspacing="0" width="500"> <tr> <th>First Name</th> <th>Last Name</th> <th>Update</th> <th>Delete</th> </tr> <?php $sql = "SELECT * FROM user_2"; $stmt = $conn->prepare($sql); $stmt->execute(); foreach ($stmt as $result) : ?> <tr> <td align="center"><?php echo $result['firstname'] ?></td> <td align="center"><?php echo $result['lastname'] ?></td> <td align="center"> <a href="./edit.php?user2_id=<?php echo $result['user2_id'] ?>">Edit</a> </a> </td> <td align="center"> <a href="./delete.php?user2_id=<?php echo $result['user2_id'] ?>" onclick="return confirm('Are you sure you want to delete this user?')"> Delete</td> </tr> <?php endforeach; ?> </table>
您可能希望使用 AJAX 将请求发送到服务器并根据返回的数据重建表。以下是一个快速散列在一起的示例,尚未经过测试,但可能有用。整个评论应该说明正在发生的事情。对 HTML 进行了各种细微的更正,并使用我在评论中引用的 css 来居中对齐表单内容。