2010-09-27 28 views
0

我正在寫分頁代碼&我得到了一個錯誤。 這是我的代碼:我在編寫php5分頁時出錯了?

<?php 
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("Admin") or die(mysql_error()); 

if (isset($_GET["page"])) 
{ 
$page = $_GET["page"]; 
} 
else 
{ 
$page=1; 
} 



$start_from = ($page-1) * 2; 
$sql = "SELECT * FROM events ORDER BY event ASC LIMIT $start_from, 2"; 
$result = mysql_query ($sql) or die(mysql_error()); 
$num=mysql_numrows($result); 
$x=0; 
?> 
<table> 
<tr><td>Event</td><td>Types</td></tr> 
<?php 
while ($x<$num) { 
$row1 = mysql_result($result,$x,'event'); 
$row2 = mysql_result($result,$x,'types'); 
?> 
      <tr> 
      <td><? echo $row1; ?></td> 
      <td><? echo $row2; ?></td> 
      </tr> 
<?php 
$x++; 
} 
?> 
</table> 
<?php 
$sql = "SELECT COUNT(event) FROM events"; 
$result = mysql_query($sql) or die(mysql_error()); 
$row = mysql_fetch_row($result); 
$total_records = $row[0]; 
$total_pages = ceil($total_records/2); 

for ($i=1; $i<=$total_pages; $i++) { 
      echo "<a href='pagination.php?page=".$i."'>".$i."</a> "; 
} 

?> 

現在我得到了一個錯誤。

object not found 
+1

'的mysql_connect( 「localhost」,則「根「,」「) - 很好。 – fredley 2010-09-27 09:56:36

+0

你不用drupal嗎? '對象未找到'錯誤似乎與此代碼無關 – 2010-09-27 10:30:24

回答

2

注意,而不是可怕的while ($x<$num)你應該使用方式更加整齊while($row=mysql_fetch_array($res))
所以,使其

<? 
$per_page = 2; 
$page = 1; 
if (isset($_GET['page'])) $page = $_GET['page']; 
$start_from = ($page-1) * $per_page; 
$sql = "SELECT * FROM events ORDER BY event ASC LIMIT $start_from, $per_page"; 
$res = mysql_query ($sql) or trigger_error(mysql_error().": ".$sql); 
?> 
<table> 
    <tr><td>Event</td><td>Types</td></tr> 
<?php 
while($row=mysql_fetch_array($res)) { 
?> 
    <tr> 
    <td><? echo $row['event'] ?></td> 
    <td><? echo $row['types'] ?></td> 
    </tr> 
<?php 
} 
?> 
</table> 
<?php 
$sql = "SELECT COUNT(event) FROM events"; 
$res = mysql_query ($sql) or trigger_error(mysql_error().": ".$sql); 
$row = mysql_fetch_row($res); 
$total_records = $row[0]; 
$total_pages = ceil($total_records/$per_page); 

for ($i=1; $i<=$total_pages; $i++) { 
    echo "<a href='pagination.php?page=".$i."'>".$i."</a> "; 
} 
?> 
+0

嘿謝謝花花公子現在運行。但它只顯示第一頁上的前2條記錄(因爲我給了限制= 2),但是當我到達第二頁或第三頁時,它什麼也沒有顯示。 &偶數據庫包含6條記錄。 – 2010-09-27 10:41:35

+0

@Pratik編輯的代碼 – 2010-09-27 10:44:29

2

mysql_query返回false - 也就是您的查詢失敗,您傳遞了錯誤的參數mysql_num_rows。我認爲你在SQL查詢中的表名中有一個拼寫錯誤,它應該是events。一般來說,你應該檢查,如果查詢成功:

$result = mysql_query ($sql) or trigger_error(mysql_error().": ".$sql); 
+0

@dark_charlie嘿,夥計在查詢或命名中沒有任何錯誤。 – 2010-09-27 10:03:03

+0

@dark_charlie嘿老兄我糾正了錯誤,但它仍然說沒有找到對象 – 2010-09-27 10:06:25

+0

更改爲$ result = mysql_query($ sql)或die(mysql_error());正如dark_charlie建議使用 – 2010-09-27 10:10:25

相關問題