如何用php mssql浏览结果?

时间:2009-03-02 19:35:30

标签: php sql-server

我正在使用php,我想做一个下一个按钮,它是接下来的10条记录(比如当你用stackoverflow浏览问题时) 我不知道该怎么做但是我想用Top n记录做到这一点?你认为这是个好主意吗?有什么建议吗?

6 个答案:

答案 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)
);