これが私の問題です...「LIKE」句を使用してPDOステートメントからページを更新せずに複数の行を返そうとしています。問題は1行のみを返し、残りは返さないことです...誰か助けてください?前もって感謝します
これが私のhtmlフォームです:
<h2>Please insert the username you would like to search for</h2>
<div align="center" id="loader_div"><span id="search_result"></span></div>
<form action="send/search.php" method="post" id="search_form">
<input type="text" id="search_username" name="get_name" />
<input type="submit" name="submitsearch" />
</form>
<div id="get_users">
</div>
私のPHPは次のとおりです。
$search = $_POST['get_name'];
$query = $db->prepare("SELECT *
FROM `users`
WHERE `users`.`username` LIKE ? LIMIT 10");
$query->bindValue(1, "%".$search."%", PDO::PARAM_STR);
try {
$query->execute();
$data['success'] = true;
while($row = $query->fetch(PDO::FETCH_OBJ)) {
$data['users'] = " ".$row->username." ";
echo json_encode($data);
exit();
}
} catch (PDOException $e) {
die($e->getMessage());
exit();
}
そして、PHPの結果を返すjQueryは次のとおりです。
$.ajax ({
type: "POST",
url: "send/search.php",
data: $('#search_form').serialize(),
dataType: "json",
success: function(data){
if(data.success === true)
{
$("#display_users").html(data.users);
},
error: function(xhr, status, et) {
}
});