1

誰か助けてくれませんか?皆さんにとっては簡単だと思います。コードを表示するページがないときに次のリンクを非表示にする方法の解決策を見つけるために戦っています。次のとおりです。

if (!isset($_GET['page']) or !is_numeric($_GET['page'])) {
    $page = 0;
} else {
    $page = (int)$_GET['page'];
}
$pages_query=mysql_query ("SELECT COUNT * FROM hardware");
$result = mysql_query("SELECT * FROM hardware LIMIT $page, 3");
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($page+3).'">Next</a><p>';
$prev = $page - 3;

//only print a "Previous" link if a "Next" was clicked
if ($prev >= 0) {
    echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$prev.'">Previous</a>';

}
4

3 に答える 3

2

mysql_num_rows($result)ハードウェアのレコード数を取得するために使用できます。

$result = mysql_query("SELECT * FROM hardware LIMIT $page, 3");
$record_count =  mysql_num_rows($result);
if ($record_count > 1)
    echo 'Next';
于 2013-05-04T16:27:37.647 に答える
0

if ステートメントで $page が 0 より大きいかどうかを確認し、$page の値の結果に従ってコードを記述します。最初の if ステートメントで別の if ステートメントを使用して、状況を検出し、何をすべきかを決定することができます。もう1つのことは、ユーザーが次にクリックした場合、ユーザーは2番目のページにいるため、 $prev が1より大きい場合、前のページが表示されるはずです。

于 2013-05-04T16:26:13.923 に答える
0

次の行に沿ったもの:

$itemsPerPage = 3;
$sql = "SELECT * FROM hardware";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
$pageCount = $count/$itemsPerPage;
if($pageCount > $page) { //Are there more pages worth of items stored, than we're currently looking at?
echo 'next';
}

LIMIT だけでなく、SQL 構文で OFFSET を使用したいと考えています。

LIMIT は、返される行数を制限します。OFFSET は、結果セットに多数の行を開始するように指示します。

ページに必要なアイテムの数に制限する必要があります。その番号*ページだけオフセットします。

これが役立つことを願っています。

于 2013-05-04T16:26:41.883 に答える