データベース内のすべての注文を表示するページを作成しています。ページあたり10個までに制限されています。クエリの合計結果に基づいてページ数を検出する問題
それはそのために動作しますが、私は以下のコードを使用してページの最大数を取得しようとすると、今の問題は次のとおりです。
$msql = "SELECT * FROM orders";
$mresult = $db->query($msql);
if(is_object($mresult) && $mresult->num_rows > 0)
{
if($mresult->num_rows > 10)
{
$maxpage = $mresult->num_rows/10 + 1;
}
else
{
$maxpage = 1;
}
}
これが以外に$のmaxpage変数を設定しません。データベースに20件以上の注文がない限り、1。
現在、データベースには11のテストオーダーがあるため、10で割ると、10を超えるオーダーがあるため、maxページを1、追加ページを+1に設定する必要があります。
私は解決策を探してウェブを精査し、空の手を挙げました。どのような考えや提案ですか?
EDIT:
追加コード表の一番下にある実際の注文は、さらにトラブルシューティングのために表示されます。
<tr>
<td colspan="2" align="left"><a href="orders?start=<?php if($page == 1) { echo 0; } else { echo $start - 10; } ?>&page=<?php if($page == 1) { echo 1; } else { echo $page - 1; } ?>"><<<<</a> Prev</td>
<td align="center">Page <?php if(isset($_GET['page'])) { echo $_GET['page'] . ' of ' . $maxpage; } else { echo '1 of 1'; } ?></td>
<td colspan="2" align="right">Next <a href="orders?start=<?php if($page <= $maxpage) { echo 0; } else { echo $start + 10; } ?>&page=<?php if($page < $maxpage) { echo $page + 1; } else { echo $page; } ?>">>>>></a></td>
</tr>
'(11月10日+ 1)' 'までPHPで2 'であります私の知る限り。私は実際にあなたのロジックに間違ったものは見ません。 –
[[offset + limitを使用してmySQLクエリの結果の合計数を検索]]の可能な複製(http://stackoverflow.com/questions/5928611/find-total-number-of-results-in-mysql-query-with-offsetlimit ) – CBroe