タイトルが示すように、複数のテーブルからレコードを取得しようとしています。次のテーブルがあります: ads1
、、、 .... 各テーブルにはads2
、ads3
auto_incrementid
を持つ 1 つ以上のレコードと、という名前の列の下に人の名前が含まれていますnames
。
各テーブルに 10 件のレコードがあり、ページごとに 5 件のレコードを表示するページネーション スクリプトが1
ある2
とします。私のアルゴリズムはそれを正しく行いません。最初のページでは、最初のテーブルから 5 つのレコード、2 番目のテーブルから 5 つのレコード、3 番目のテーブルから 5 つのレコードなどを表示します...しかし、5 つのレコードのみを表示したいper page 、私が持っている各テーブルの 5 ではなく、 のページとレコード、のページとレコードなどに正しく表示されるようにしたいので、ご理解いただければ幸いです。手伝ってくれませんか ?3
4
5
6
1
2
ads1
3
4
ads2
ここに私のアルゴリズムがあります:
for ($i=1;$i<=$kay;$i++)
{
$counter = 0;
$tablenow = 'ads'.$i;
$result = mysql_query("SELECT id FROM ".$tablenow." ");
$counter = $counter + mysql_num_rows($result);
$x=ceil($counter / $per_page);
$page = (isset ($_GET['page']) AND (int)$_GET['page'] > 0 AND (int)$_GET['page'] <= $x) ? (int)$_GET['page'] : 1;
$start = ($page - 1) * $per_page;
$sql = mysql_query("SELECT * FROM ".$tablenow." ORDER BY id DESC LIMIT
$start,$per_page ")or die(mysql_error());
while ($sqlg=mysql_fetch_assoc($sql))
{
// this is where I show the records.
}
}
PS: テーブルが 1 つだけの場合、アルゴリズムは正常に機能しますが、テーブルが 2 つ以上ある場合、正しく機能しなくなります。