方法是:不用limit限制直接把總量數(shù)據(jù)取出來,然后用條件判斷控制每頁顯示的條數(shù)。這樣做的弊端是數(shù)據(jù)量很大的時候內(nèi)存損耗特別大,因為每個頁面請求都是總量數(shù)據(jù)總量還是用另外一條語句取值吧,能節(jié)省些內(nèi)存
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了天橋免費建站歡迎大家使用!
PHP查詢語句,有兩種方法獲得查詢的總記錄數(shù)。
一是使用mysql_num_rows函數(shù),例子代碼:
?php
$link?=?mysql_connect("localhost",?"mysql_user",?"mysql_password");
mysql_select_db("database",?$link);
$result?=?mysql_query("SELECT?*?FROM?table1",?$link);
$num_rows?=?mysql_num_rows($result);
echo?"$num_rows?Rows\n";
?
二是修改查詢語句,使用COUNT(*)作為查詢內(nèi)容,例子代碼:
?php
$link?=?mysql_connect("localhost",?"mysql_user",?"mysql_password");
mysql_select_db("database",?$link);
$result?=?mysql_query("SELECT?COUNT(*)?FROM?table1",?$link);
list($num_rows)?=?mysql_fetch_row($result);
echo?"$num_rows?Rows\n";
?
SELECT
語句用于從數(shù)據(jù)庫中選取數(shù)據(jù)。
語句1:SELECT
*
FROM
table_name
解說:意思就是讀取整個表table_name里面的數(shù)據(jù)顯示出來
語句1:SELECT
*
FROM
table_name
Where
x
=
1
解說:意思就是讀取表table_name里面鍵名為:x
值為:1的
數(shù)據(jù)顯示出來
例子:
?php
$con?=?mysql_connect("localhost","peter","abc123");
if?(!$con)
{
die('Could?not?connect:?'?.?mysql_error());
}
mysql_select_db("my_db",?$con);
$result?=?mysql_query("SELECT?*?FROM?Persons");
while($row?=?mysql_fetch_array($result))
{
echo?$row['FirstName']?.?"?"?.?$row['LastName'];
echo?"br?/
";
}
mysql_close($con);
?數(shù)據(jù)庫采用UTF8編碼,而頁面申明編碼是GB2312,這是最常見的產(chǎn)生亂碼的原因。
這時候在PHP腳本里面直接SELECT數(shù)據(jù)出來的就是亂碼,需要在查詢前先使用:
mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");來設(shè)定MYSQL連接編碼,保證頁面申明編碼與這里設(shè)定的連接編碼一致(GBK是GB2312的擴展)。如果頁面是UTF-8編碼的話,可以用:
mysql_query("SET
NAMES
UTF8");
注意是UTF8而不是一般用的UTF-8。假如頁面申明的編碼與數(shù)據(jù)庫內(nèi)部編碼一致可以不設(shè)定連接編碼。
代碼如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");