我正在使用php,我想做一个下一个按钮,它是接下来的10条记录(比如当你用stackoverflow浏览问题时) 我不知道该怎么做但是我想用Top n记录做到这一点?你认为这是个好主意吗?有什么建议吗?
答案 0 :(得分:3)
至于在PHP中执行此操作,您可以轻松地使按钮发送POST或GET请求以获取起始金额。例如,用户将发出初始请求,而这只是yoursite.com/search.php
,下一个按钮会将它们发送到具有相同搜索条件的同一页面,只发送一个“start”的附加字段,(即{{ 1}})。在代码中,您只需检查它:
yoursite.com/search.php?start=10
编辑1: This article是我能找到的关于如何复制MySQL的if(isset($_POST['start'])) {
//code to add to the search string to start at $_POST['start']
}
功能的最佳选择。此外,this one有一个更明确的参考查询,但它是相同的想法。
答案 1 :(得分:0)
我知道在MySQL中你可以使用LIMIT X,Y,其中X是返回的下限,Y是上限。因此,如果你想返回10-20,你将使用LIMIT 10,20。不确定MS-SQL的等价物是什么。
答案 2 :(得分:0)
在mysql中sql有没有类似LIMIT的东西?所以你可以这样做:
select xxx from yyy LIMIT 0,10
对于前10个结果,然后对下10个结果进行LIMIT 10,20等。
答案 3 :(得分:0)
您可以使用MySQL的限制
设置一个名为:
的变量$limit = 10;
$pl = $_GET["page"] * $limit;
if(!isset($_GET["page"]) || $_GET["page"] == 1)
{
$pl = 0;
}
并在您的查询中执行
$sql = sprintf("SELECT * FROM table LIMIT %d,%d"
mysql_real_escape_string($pl),
mysql_real_escape_string($limit));
顺便说一句,这是来自记忆,但我认为它有效。
答案 4 :(得分:0)
这会对你有什么帮助吗?
$count=$_POST[page]*10;
答案 5 :(得分:0)
for MySQL:
$rowsPerPage = 10;
$offset = ((int)$_GET['page'] - 1) * $rowsPerPage;
$result = mysql_query(
sprintf('select xxx from yyy LIMIT %d,%d', $offset, $rowsPerPage)
);