2013-03-15 49 views
0

我在我的mysql數據庫中有更多的數據。我想顯示的數據,每頁只有10個數據我需要顯示,爲此我寫了分頁代碼。它的工作非常好,但我想自動運行該分頁,這意味着幾秒鐘後頁面會自動轉到第二頁,然後第三頁等...但我不知道如何實現請幫助任何人。下面的示例代碼僅供參考:狀態板程序的自動分頁

<?php 
include "config.inc"; 

$sql = "SELECT COUNT(*) FROM test"; 
$result = mysql_query($sql) or trigger_error("SQL", E_USER_ERROR); 
$r = mysql_fetch_row($result); 
$numrows = $r[0]; 


$rowsperpage = 3; 

$totalpages = ceil($numrows/$rowsperpage); 


if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) { 

$currentpage = (int) $_GET['currentpage']; 
} else { 

$currentpage = 1; 
} 


if ($currentpage > $totalpages) { 

$currentpage = $totalpages; 
} 
if ($currentpage < 1) { 

$currentpage = 1; 
} 


$offset = ($currentpage - 1) * $rowsperpage; 


$sql = "SELECT * FROM test LIMIT $offset, $rowsperpage"; 
$result = mysql_query($sql) or trigger_error("SQL", E_USER_ERROR); 


while ($list = mysql_fetch_array($result)) { 

echo $list['mark_cut_weld'] . " : " . $list['mark_cut_inves'] . "<br />"; 
} 


$range = 3; 


if ($currentpage > 1) { 

echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1'><<</a> "; 

$prevpage = $currentpage - 1; 

echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage'><</a> "; 
} 


for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) { 

if (($x > 0) && ($x <= $totalpages)) { 

if ($x == $currentpage) { 

echo " [<b>$x</b>] "; 

} else { 

echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> "; 
} 
} 
} 


if ($currentpage != $totalpages) { 

$nextpage = $currentpage + 1; 

echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$nextpage'>></a> "; 

echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$totalpages'>>></a> "; 
} 
?> 

上面的代碼,我只是從php數據庫中獲取數據。然後設置每頁的數據是3.我只是得到總數,然後按行數除以每頁的行數......然後自動顯示數據。

我的目標是顯示數據庫中的數據。每頁10個數據然後自動移動到下一個10頁的數據,不需要任何操作點擊或提交... 因爲它是狀態板程序..我們將在工廠中用大電視顯示...所以工作人員可以看到這個大電視的工作狀況。

回答

0

您將要使用JavaScript到set timeouts那將redirect位置到下一頁每隔一段時間。

例如,添加到您的HTML身體的底部:

<script type="text/javascript"> 
    function switchPage(){ 
     window.location = "<?php echo $next_page?>"; // set the next page of results to view. 
    } 

    setTimeout(switchPage,60*1000); // call callback every minute 
</script> 

變量$next_page將需要一個URL到下一組使用PHP的結果。

要重複一遍,您需要PHP端的模數,當達到結果的末尾時,它會翻回第0頁。

<?php 
$next_page_count = ++$currentpage % $totalpages; 
$next_page = $_SERVER['PHP_SELF'] . '?currentpage=' . $next_page_count; 
+0

謝謝J.Money其工作... – user2163728 2013-03-15 08:29:40

2

您可以設置標題重定向以重定向到下一頁。

例如,以下代碼將在10秒內將您重定向到下一頁。

header('Refresh: 10; URL='.$_SERVER['PHP_SELF'].'?page='.$next_page); 

確保您在PHP中回顯任何內容之前設置標題。

+0

嗨kavin,謝謝。但在頁面頂部添加代碼後出現此錯誤。解析錯誤:語法錯誤,意想不到的T_ENCAPSED_AND_WHITESPACE,希望T_STRING或T_VARIABLE或T_NUM_STRING在第11行D:\ wamp \ www \ status_board \ pagin.php上 – user2163728 2013-03-15 07:37:38

+0

嗨用戶,我已更新我的代碼以更正錯誤。請使用該代碼。 – kavin 2013-03-15 07:49:50

+0

謝謝你kavin ..我需要添加該行...如果我添加意味着我得到通知錯誤和URL將如下所示:http://localhost/status_board/pagin.php?page = – user2163728 2013-03-15 08:20:26