我的数据库包含一个名为30个用户的表。我有以下html表单,这是一个搜索表单:
<form method="POST" name="go" action="search_form_all.php" >
<input name="value" type="text" id="search_form_1" size="65" />
<input type="submit" value="" name="submit" />
</form>
然后使用以下php脚本,结果表单显示我的数据库中的所有名称:
if(isset($_POST['value'])== true && empty($_POST['value']) == false){
$value = mysql_real_escape_string($_POST['value']);
$name_and_surname = explode(" ", "$value ");
$name = $name_and_surname[0];
$surname = $name_and_surname[1];
$query = mysql_query(" SELECT `name`, `surname`, `email`, `user_id` FROM users WHERE (surname LIKE '$name%' AND name LIKE '$surname%') OR (surname LIKE '$surname%' AND name LIKE '$name%') LIMIT 10 ");
while($run = mysql_fetch_array($query)){
$name = $run['name'];
echo" $name ";
}
通过执行上面的代码,我得到前10个名字(因为在我的sql查询中有10个限制)。我想要的只是一个按钮,当用户按下它以提取其余10个名字,然后其余10个,直到提取所有30个名字。我怎么能这样做?
答案 0 :(得分:0)
sql LIMIT函数可以处理多个数字,例如LIMIT 10,20将输出第10到第20个结果。
我确信你可以用你的表格找出一些东西并张贴以便利用你的优势
有关SQL LIMIT的更多信息,请访问:http://php.about.com/od/mysqlcommands/g/Limit_sql.htm
答案 1 :(得分:0)
SELECT `name`, `surname`, `email`, `user_id`
FROM users
WHERE (surname LIKE '$name%' AND name LIKE '$surname%')
OR (surname LIKE '$surname%' AND name LIKE '$name%')
LIMIT $offset, 10;
其中offset在您的情况下可以是1,11,21
答案 2 :(得分:0)
您可以在网络语言中使用名为 PAGINATION 的优雅解决方案。它只是获取一大块数据并打印出指向下一页的链接。http://www.phpfreaks.com/tutorial/basic-pagination可能有帮助< / p>
您可以根据自己的需要使用该值并进行操作。例如,您可以在LIMIT语句中使用它。