方法是:不用limit限制直接把总量数据取出来,然后用条件判断控制每页显示的条数。这样做的弊端是数据量很大的时候内存损耗特别大,因为每个页面请求都是总量数据总量还是用另外一条语句取值吧,能节省些内存
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了天桥免费建站欢迎大家使用!
PHP查询语句,有两种方法获得查询的总记录数。
一是使用mysql_num_rows函数,例子代码:
?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(*)作为查询内容,例子代码:
?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
语句用于从数据库中选取数据。
语句1:SELECT
*
FROM
table_name
解说:意思就是读取整个表table_name里面的数据显示出来
语句1:SELECT
*
FROM
table_name
Where
x
=
1
解说:意思就是读取表table_name里面键名为:x
值为:1的
数据显示出来
例子:
?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);
?数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。
这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:
mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:
mysql_query("SET
NAMES
UTF8");
注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。
代码如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");