查看完整版本: php+odbc分頁
頁: [1]

timon123 發表於 2010-11-25 03:05 AM

php+odbc分頁

這是我的分頁程式

$link = odbc_connect('commodity','Administrator','',SQL_CUR_USE_ODBC)or die("無法連接ODBC數據源"); //連接一個ODBC數據源
$pagesize = 10; //一頁顯示記錄數
  $sql = "select count(*) as total from 商品資料"; //取得記錄總數SQL語句
$result = odbc_exec($link,$sql) or die("$sql查詢出錯"); //執行取得記錄總數SQL語句
$recordcount = odbc_result($result,1); //取得記錄總數,在這里也可以用$recordcount = odbc_result($rst,"total");
odbc_free_result($result); //釋放資源
$pagecount = bcdiv($recordcount $pagesize-1,$pagesize,0); //算出總頁數
if(!isset($page)) $page = 1; //如果沒有指定顯示頁碼,缺省為顯示第一頁
if($page<1) $page = 1; //如果頁碼比1小,則顯示第一頁
if($page>$pagecount) $page = $pagecount; //如果頁碼比總頁數大,則顯示最后一頁
if($page>0){ //頁碼比0大,表示有數據
echo '>> 分頁 ';
echo '<div class='locked'>下載: <em>訪客無法瀏覽下載點,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> ';
if($page>1){
echo '<div class='locked'>下載: <em>訪客無法瀏覽下載點,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> ';
}
else{
echo '前頁 ';
}
if($page<$pagecount){
echo '<div class='locked'>下載: <em>訪客無法瀏覽下載點,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> ';
}
else{
echo '后頁 ';
}
echo '<div class='locked'>下載: <em>訪客無法瀏覽下載點,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> ';
echo '頁次: ' . $page . '/' . $pagecount . '頁 ';
echo $pagesize . '條/頁 ';
echo '共' . $recordcount . '條 ';
$sql = "select * from 商品資料"; //取得數據SQL語句
$result = odbc_exec($link,$sql) or die("$sql查詢出錯"); //執行取得數據SQL語句
$res = odbc_num_fields($result); //取得字段總數
echo '<table border="1" cellspacing="0" cellpadding="0">';
echo '<tr>';
for($i=1;$i<=$res;$i ){
echo '<th>' . odbc_field_name($result,$i) . '</th>'; //顯示第$i個字段名
}
echo '</tr>';
$rowi = ($page-1)*$pagesize 1;
for($i=0;$i<$pagesize;$i ){
echo '<tr>';
if($rowi>$recordcount){
for($j=0;$j<$fieldcount;$j ){
echo '<td>&nbsp;</td>';
}
}
else{
odbc_fetch_into($result,$rowi,&$row);
for($j=0;$j<$res;$j ){
$field = $row[$j];
if($field=='') $field = '&nbsp;';
echo '<td>' . $field . '</td>';
}
$rowi = $rowi 1;
}
echo '</tr>';
}
echo '</table>';
odbc_free_result($result); //釋放資源
}
else{
echo "無數據";
}
odbc_close($link); //關閉連接並釋放資源


可是不知道為什麼
在跑的時候顯示出
Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\no2\no2.php on line 16
問題出在$pagecount = bcdiv($recordcount $pagesize-1,$pagesize,0); //算出總頁數
這一行~
請問到底哪裡出問題了?...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

mosquito520 發表於 2010-11-30 12:58 AM

$pagecount = bcdiv($recordcount $pagesize-1,$pagesize,0);
你傳入bcdiv的參數錯誤<br><br><br><br><br><div></div>

timon123 發表於 2010-12-24 06:05 PM

那應該要輸入什麼呢?
可以幫助我嗎?<br><br><br><br><br><div></div>

rexxon 發表於 2010-12-27 09:43 AM

回復 3# timon123

string bcdiv ( string $left_operand , string $right_operand [, int $scale ] )
依你的 case

可試試
$pagecount = bcdiv($recordcount, $pagesize);<br><br><br><br><br><div></div>
頁: [1]