2012-05-24 41 views
1

我有一個數據庫,我試圖通過PHP編輯顯示。在主頁上,我只想顯示錶格的前15行,然後讓用戶單擊以生成更多表格行。PHP /數據庫表循環 - 在時間只顯示15行

<?php 
include('../config.php'); 
$result = $mysqli->query("SELECT uid, title, description, tblFacilityHrsDateTimes.* FROM tblFacilityHrs LEFT JOIN tblFacilityHrsDateTimes ON tblFacilityHrs.uid = tblFacilityHrsDateTimes.owner_uid ORDER BY tblFacilityHrs.title") or die($mysqli->error); 
    while($row =$result->fetch_assoc()){ 
     extract ($row); 
     echo "<tr>"; 
      echo "<td> {$id} </td>"; //hide when finished 
      echo "<td> {$title} </td>"; 
      echo "<td> {$description} </td>"; 
      echo "<td> {$startEventDate} </td>"; 
      echo "<td> {$endEventDate} </td>"; 
      echo "<td> {$startTime} </td>"; 
      echo "<td> {$endTime} </td>"; 
      echo "<td> {$days} </td>"; 
      echo "<td> {$recurrence} </td>"; 
      echo "<td> {$finalDate} </td>"; 
      echo "<td>"; 
      echo "<a class=\"buttons\" href=edit.php?id={$id}&uid={$uid}>Edit</a><span class='icon'></span></a> 
"; 
      echo "/"; 
      echo "<a class=\"buttons\" href='javascript: Confirm()'>Delete</a>"; 
      echo "</td>"; 
     echo "</tr>"; 
     echo "</div>"; 
    } 

echo "</table>"; 

$result->free(); 
$mysqli->close(); 

?> 
+0

@에이바,你想顯示15條每頁也就是說,如果有100條記錄,然後四頁15條記錄每個? – w0051977

+0

是的,這正是我想要做的。 –

回答

1

也許你正在尋找分頁,這可以通過mysql的LIMIT做

類似的東西

$result = $mysqli->query("SELECT uid, title, description, tblFacilityHrsDateTimes.* FROM tblFacilityHrs LEFT JOIN tblFacilityHrsDateTimes ON tblFacilityHrs.uid = tblFacilityHrsDateTimes.owner_uid ORDER BY tblFacilityHrs.title LIMIT 15, $page ") 

凡膠印$頁面

這裏有幾個創建自定義分頁的教程

Pagination of MySQL Query Results

Pagination - what it is and how to do it

4

使用LIMIT

"SELECT uid, title, description, tblFacilityHrsDateTimes.* FROM tblFacilityHrs LEFT JOIN tblFacilityHrsDateTimes ON tblFacilityHrs.uid = tblFacilityHrsDateTimes.owner_uid ORDER BY tblFacilityHrs.title LIMIT 15" 
+1

你會在這個案例15中指出你的起點,然後指定要得到多少行,這將是15:'limit 15,15'。對於下一組:「極限30,15」等。 –

+0

對不起,我刪除了我的問題。謝謝。 –

2

退房的limit語法in this manual pageselect * from table limit 0,15將返回15行,以偏移量0(第一行)開始。對於第二頁,您可以使用limit 15, 15來獲取16-30行,然後使用limit 30,15等等。

+0

我需要爲此製作一個全新的頁面嗎? –

+1

不,只需重新加載頁面並將新偏移量作爲變量傳遞即可。當用戶第一次訪問該頁面時,「$ offset」默認爲零。當他們點擊「下一頁」按鈕時,它會發送一個包含表單域的請求,如'。當頁面重新加載並再次運行查詢時,它將使用15作爲新的偏移量,當它們再次點擊「下一個」時,它將使用30,依此類推。 (你需要實際編寫你的查詢來使用'$ offset'作爲'LIMIT'的第一個參數)。 – octern