0

「ページ」システムを実装して、最初のページに 10 件の結果 (1-10) を表示し、2 ページ目に他の 10 件 (11-20) の結果を表示するようにしたいと考えています。等

結果はさまざまな方法で順序付けする必要があります。たとえばORDER BY count DESC; 、これに対する純粋な MySQL ソリューションはありますか?

$results_per_page = 10;
$page_number = $_GET['page'];

mysql_query( "SELECT * FROM mytable ORDER BY count DESC 
LIMIT $results_per_page*$page , $results_per_page*($page+1) // Of course, I made up this line
;");
4

3 に答える 3

0

私は私の質問に対する答えを見つけました、私はそれらを次のように選択する必要があります

SELECT * FROM mytable ORDER BY whatever DESC LIMIT 10 OFFSET 10;

2ページ目。

したがって、変数を使用すると、次のようになります。

SELECT * FROM mytable ORDER BY whatever DESC LIMIT $results_per_page OFFSET $page_number-1;
于 2013-02-22T19:48:20.817 に答える
0

$ page変数をクリーンアップした後、セキュリティ上の理由からユーザーからの入力を直接受け入れるべきではないため、次のようにする必要があります。

<?php
$first = $results_per_page * ($page-1); // on page 1 you want to start at row 0
$querystring = "SELECT * FROM mytable ORDER BY count DESC 
LIMIT $first, $results_per_page";
?>
于 2013-02-22T19:49:07.640 に答える
0
make a function passing four parameters
function getresult($index,$order,$start,$no_rows)
 {

    $sql="SELECT * FROM mytable order by $index $orders limit $start,$no_rows";
 }

どこ、

$index=あなたがやりたいソート

$order=昇順/降順

$start=これからレコードの取得を開始します

$no_$rows=何行も取得したくない

于 2013-02-22T19:56:49.823 に答える