各位好:
目前想到的換頁(pagination)方式流程大概如下:
(PHP+MYSQL)
1.第一次query先撈出總筆數,並做好相關分頁計算,也準備將這些值帶入下一次的limit設定中
2.第二次query取出所有資料(limit筆數)
我是有聽過最好減少資料庫query的次數,盡量縮減成一次query就好?
尤其是在千人存取的環境下...
問題一:所以還有更好的query方式嗎?
問題二:我要來轉成PDO方式存取,概念是否雷同?
目前想到的換頁(pagination)方式流程大概如下:
(PHP+MYSQL)
1.第一次query先撈出總筆數,並做好相關分頁計算,也準備將這些值帶入下一次的limit設定中
2.第二次query取出所有資料(limit筆數)
我是有聽過最好減少資料庫query的次數,盡量縮減成一次query就好?
尤其是在千人存取的環境下...
問題一:所以還有更好的query方式嗎?
問題二:我要來轉成PDO方式存取,概念是否雷同?
SUDO程式碼: $smt="from test where name='john' "; $query = "SELECT COUNT(*) as num $smt "; //第一次query $result = mysql_query($query, $connection); $query_data = mysql_fetch_row($result); 資料總筆數 = $query_data[0]; //取出SQL條件限制下的總筆數 ....進行分頁所需計算:如算出頁數等.... 略 //第二次query $query = "SELECT tname FROM $smt limit 位置,10"; $result = mysql_query($query, $connection); while($row=mysql_fetch_array($result)){ //loop }