gpt4 book ai didi

php - 限制 PHP 即时搜索的结果?

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:37 25 4
gpt4 key购买 nike

我做了一个搜索栏,用于在我的数据库中搜索用户,我将在下面分享我的代码。但一个问题是,如果我在一个表中有 5 个用户,它会显示这 5 个用户,但如果我有 1,000 个用户,它会显示所有 1,000 个用户。

无论我试图限制它,它都没有用。有时它会完全杀死 PHP 脚本。

有谁知道如何解决这个问题,并通过以下代码将每个搜索查询限制为仅显示 5 个结果?

HTML 输入和 AJAX 脚本:

<input id="text" type="text" name="text" onkeyup="showHint(this.value)" autocomplete="off" />
<div id="inner" class="inner"></div>
<script>
function showHint(str) {
if (str.length==0) {
document.getElementById("inner").innerHTML="You haven't search. Please have :D";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("inner").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("REQUEST","searchquery.php?text="+str,true);
xmlhttp.send();
}
</script>

AND searchquery.php:

<?
$text = $_REQUEST['text'];
$text = preg_replace('#[^a-z0-9]#i', '', $text);
function connect($database) {
mysql_connect('localhost','root','');
mysql_select_db($database);
}
connect('developing');
$query = "SELECT * FROM users WHERE first_name LIKE '%$text%' OR last_name LIKE '%$text%'";
$action = mysql_query($query);
$result = mysql_num_rows($action);
if ($result == 0) {
$output = "User does not exist...";
}else{
while ($row = mysql_fetch_array($action)) {
$output .= '<div class="output"><img src="/'.$row['avatar'].'"><a href="#">'.$row['first_name'].' '.$row['last_name'].'</div><br />';
}
}
echo $output;
?>

任何人都可以看到一些关于如何制定该限制的解决方案吗?

最佳答案

使用LIMIT在您的查询中:

SELECT * 
FROM users
WHERE first_name LIKE '%$text%'
OR last_name LIKE '%$text%
LIMIT 5'

关于php - 限制 PHP 即时搜索的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16253999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com