0

データベースに多くのアイテムがあり、それらを表示するのに問題はありません。データベースから取得したアイテムをグループ化して整理したいだけです。

たとえば、50 個のアイテムがあり、最初の 10 個のアイテムを最初に表示し、残りを後で表示するために保持したいとします。したがって、ユーザーが「次のアイテムを表示」ボタンまたは適切な番号をクリックした場合 (たとえば、10 個のアイテムが「1」にあるため、「2」がクリックされた場合、すべてのアイテムが表示されるまで、2 番目の 10 個のアイテムが表示されます)。対応する番号グループ アイテム ホルダーとともに 10 で表示されます)、次の 10 アイテムが表示され、最初の 10 アイテムが置き換えられます。要するに、アイテムを10で表示したいのです。

私はこの現在のコードを持っています:

PHP

$result = mysql_query("SELECT * FROM items");
$data = "";
while($row = mysql_fetch_array($result)) {
    $data .= "<a href='#' id='".$row['id']."' class='theitem'><img src='media/".$row['picture']."' /></a>";
}

HTML

<div id="itemsholder">
  <? echo $data; ?>
</div>

その下には数値ナビゲーションがあり、その番号は 50 項目を超えて設定された 10 項目の数に対応している必要があります。たとえば、50 個のアイテムの場合、10 個のアイテムのみを表示したいので、1、2、3、4、5 個のリンク、または「次のアイテムを表示」ボタンを使用して、ユーザーがそれを押すたびに次のアイテムが表示されるようにする必要があります。 10アイテムと残り。

PS: 提案、推奨事項、アイデアを歓迎します。

ありがとう、ここの誰かが助けてくれることを願っています、ありがとう。

4

2 に答える 2

1

これは、ページネーションと呼ばれる一般的なデザイン パターンです。php のページネーションを Google で検索して、結果の一部をダイジェストすることもできます。

一言で言えば、一般的なパターンは、アイテムの合計数を把握することです (SELECT COUNT(*) クエリを使用するか、非常に大きなデータセットの場合は別の場所に保存し、アイテムが追加または削除されるたびに更新します)。LIMIT 句を使用してクエリを実行します。

たとえば、それぞれ 20 項目のページが必要で、5 ページにいる場合は、次の代わりに:

SELECT * FROM items;

代わりにこれを実行してください:

SELECT * FROM items LIMIT 100, 20;

そして、それらの結果をページとして表示します。合計アイテムが $n の場合、ページ数は次のようになります。

floor(($n + 1) / 20);
于 2012-07-01T06:21:03.543 に答える