我想搜尋和過濾表中的數據,但我不知道該怎麼做,因為我目前正在學習 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 來居中對齊表單內容。