役に立たないタイトルで申し訳ありません。数百行のデータベースに到達するため、foreach ステートメント用に複数のページを作成しようとしています。最初のページのクエリを 1,30 に制限し、次に 2 番目のページを 31 ~ 60 に制限しますか? もしそうなら、それをどのようにコーディングしますか?
質問する
54 次
2 に答える
1
$totalRows = 100;// Total rows
$perPage = 30;
$pages = ceil($totalRows/$perPage);
for ($i = 0; $i<=$pages; $i++)
{
$sql = sprintf("SELECT * FROM table LIMIT %s, %s", $i*$perPage, $perPage);
// Execute
}
于 2012-11-27T20:50:14.880 に答える
0
クエリには大きなオーバーヘッドがかかる可能性があるため、複数のクエリを実行しないでください。むしろ、単一のクエリを実行してから、PHP を使用して必要に応じて結果を分割します。% 演算子と一緒にループ カウンターを使用して、ブレークする時間かどうかを確認できます。
たとえば、結果をループしていて、ループ変数が $i の場合、次のことができます。
if ( $i > 0 && $i % 30 == 0 ) {
// Breaking action here ...
}
ループの 30 回ごとの反復を検出し、ロジックを実装します。
于 2012-11-27T20:53:14.003 に答える