PHP / MySQL的選擇頁面上的資料和分割_PHP教程

來源:互聯網
上載者:User
本教程將告訴你如何選擇從一個MySQL資料庫中的資料,在多個頁面上分裂,並顯示它使用頁碼。 我們有MySQL的表名為“學生”90記錄與以下領域: 名稱-資料類型為varchar(250) ****** -為varchar(250), 而是做一個單一的SELECT查詢,並顯示所有90記錄,我們可以在一個頁面上有5頁20條記錄每個包含最多。要做到這一點,我們將需要使用LIMIT子句的SELECT命令,所以我們可以限制查詢只顯示20條記錄。LIMIT子句也允許你指定哪個記錄開始。例如,此查詢

$sql = "SELECT * FROM students ORDER BY name ASC LIMIT 0, 20";
返回20條記錄,從第一個記錄開始按名稱排序。這下查詢
$sql = "SELECT * FROM students ORDER BY name ASC LIMIT 50, 20";
再次排序的名字,但這個時候,它會從第50記錄20條記錄。
所以基本上在此條款(限制開始,計數)“開始”指定的起始記錄和“計數”指定顯示多少記錄。 接下來的事情做的是做一個PHP檔案稱為pagination.php將表從我們的記錄顯示第20。代碼在下面選擇,然後列印在表中的資料。

if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * 20;
$sql = "SELECT * FROM students ORDER BY name ASC LIMIT $start_from, 20";
$rs_result = mysql_query ($sql, $connection);
?>











while ($row = mysql_fetch_assoc($rs_result)) {?> };?>
Name Phone

現在,當你開啟pagination.php在您的網頁瀏覽器,你會看到從您的“學生”表中顯示的第20條記錄的表 第2行以上的代碼
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * 20;
被用來建立一個$ start_from的變數,取決於我們要查看的頁。後來,你會看到,我們將通過“頁”的價值,使用到不同的頁面的URL(例如pagination.php?= 2頁)。下一步,我們需要找出在我們的餐桌和頁面,我們需要的數量總額的記錄。要做到這一點,我們運行另一個查詢使用COUNT()函數。 站長百科

$sql = "SELECT COUNT(Name) FROM students";
$rs_result = mysql_query($sql,$connection);
$row = mysql_fetch_row($rs_result);
$total_records = $row[0];
美元total_records現在是平等的,我們有我們的資料庫中,90在我們的例子中,記錄的數量。我們有20每頁記錄,以便將需要的頁面的總數是5(4頁20條記錄和最後一頁,將有10條記錄)。 計算需要使用PHP可以使用CEIL()函數的網頁數量。

$total_pages = ceil($total_records / 20);
我們的記錄總數除以每頁的記錄,然後CEIL()函數將向上舍入的結果。現在我們有2個新的變數- $ total_records等於90美元total_pages等於5
要列印的頁碼和聯營公司的網址,每個號碼,我們會為()迴圈使用。

for ($i=1; $i<=$total_pages; $i++) {
echo "".$i." ";
};
?>
上面的代碼將列印數字從1到5,每個數字將建立不同 你可以看到每一個環節,這是上面的SELECT查詢中使用不同的頁麵價值傳遞。 最後,你應該有一個這樣的檔案(記得添加MySQL連接字串):

if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * 20;
$sql = "SELECT * FROM students ORDER BY name ASC LIMIT $start_from, 20";
$rs_result = mysql_query ($sql,$connection);
?>











while ($row = mysql_fetch_assoc($rs_result)) {?> };?>
Name Phone

$sql = "SELECT COUNT(Name) FROM students";
$rs_result = mysql_query($sql,$connection);
$row = mysql_fetch_row($rs_result);
$total_records = $row[0];
$total_pages = ceil($total_records / 20);

for ($i=1; $i<=$total_pages; $i++) {
echo "".$i." ";
};
?>
這pagination.php檔案將列印最多20每頁記錄和底部5頁碼指向一個頁面顯示不同的20條記錄的表。 不要忘了一小筆費用,我可以添加分頁你所有的PHP檔案。讓我知道如果你需要協助,我會給你一個報價。


作者:newcnzz

http://www.bkjia.com/PHPjc/478038.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478038.htmlTechArticle本教程將告訴你如何選擇從一個MySQL資料庫中的資料,在多個頁面上分裂,並顯示它使用頁碼。 我們有MySQL的表名為學生90記錄與以下領域:...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.