如何搜索名稱或類似關鍵字的內容,並期望獲得許多結果?在PHP中搜索名字
一樣,當你搜索馬克,
你希望有這樣的:
馬克·扎克伯格
馬克哈米爾
馬克菲施巴赫
...
但是當我做查詢時,它只顯示一個給我。
我試過使用許多不同的SQL子句和其他東西,但仍然給我一個這樣的結果。順便說一句,我使用PDO作爲我的數據庫處理程序。
這是我的代碼:
<?php
require_once '../../assets/conn.db.php';
require_once '../../assets/init.php';
require_once '../../assets/main.func.php';
if($_POST){
$namesearch = $_POST['name'];
$sql = "SELECT * FROM `student_info` WHERE username LIKE ? OR username LIKE ?";
$checkstmt = $conn->prepare($sql);
$checkstmt->execute(array("%{$namesearch}%","%{$namesearch}%"));
$result = $checkstmt->fetch(PDO::FETCH_ASSOC);
if($result){
echo "
<table border='1' class='text-align: center'>
<tr>
<th>Name</th>
<th>Phone</th>
<th>Address</th>
<th>Username</th>
<th>Action</th>
</tr>
<tr>
<td>{$result['name']}</td>
<td>{$result['phone']}</td>
<td>{$result['address']}</td>
<td>{$result['username']}</td>
<td><a href='grades.php?user=".$result['StudentID']."'>+</a> Add Grades</td>
</tr>
</table> <br>
";
}
}
?>
<form method="post">
<input type="text" name="name" placeholder="Search for a student">
<input type="submit" value="Search!">
</form>
您只能獲取一個(「下一個」)行。你需要循環並把它們全部取出。像'while($ result = $ checkstmt-> fetch(...){...' – Jeff