所以就像標題所暗示的那樣,我試圖從多個表中檢索記錄。 我有以下表格:ads1
,ads2
,ads3
,....每個表格包含1個或多個記錄,其中auto_increment爲id
,名字爲names
。從多個表中檢索記錄
比方說,我有10個記錄的每個表中,我有一個分頁腳本,顯示5條每頁,這意味着2頁每個表,所以我會1
,2
,3
,4
,5
頁, 6
。 我的算法沒有正確執行,在我的第一頁上,它顯示了來自第一個表的5條記錄,來自第二個表的5條記錄,來自第三個表的5條記錄,等等......但我只想要5條記錄每頁顯示不是5,我希望它們能正確顯示在頁面1
和2
記錄ads1
,3
和4
記錄ads2
等,希望你能明白。 你能幫我嗎?
這裏是我的算法FFT:
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:對於只有一個表,該算法工作,正是因爲它應該,但是當我有2個或多個錶停止正常工作。
發表了一個建議重寫,但我看到你已經得到它的工作。只有一個建議:您正在使用的原始mysql API已被棄用。建議您使用「MySQL改進的擴展」:http://www.php.net/manual/en/book.mysqli.php。如果您覺得將來可能會更改數據庫,則還可以使用PDO:http://www.php.net/manual/en/book.pdo.php。祝你的項目好運。 – David