mysql分页问题

[code="php"]
mysql_connect("localhost","root","123456") or die(mysql_error);
mysql_select_db("zllll");
$sql="select * from newusers where name_id like '$name' limit m,n";
$totalpage ="";
$result=mysql_query($sql);
$count=mysql_num_rows($result);//查询总数

[/code]

此语句的$count获得的数值就是n的值,而我想既指定查询行,又能获得查询总记录数,应该怎么写?
[b]问题补充:[/b]
:o 我想做AJAX分页,大致思想是用AJAX获取总记录数和指定查询行的记录,
前提是分页不想写在PHP里
[b]问题补充:[/b]
我是打算获取总记录数后,javascript来生成页码,页码用AJAX实现获取数据

不用PHP计算,AJAXget过去时就指定了;
$page= isset($_GET['page'])?intval($_GET['page']):1;
[b]问题补充:[/b]
所以我只需要同时知道总记录数(这样就可以计算分多少页了)和得到指定查询行的内容(这样就可以在页面内展现内容)
[b]问题补充:[/b]
刚刚试了下用MYSQL查2次实现了上面所说的功能
(1次查总数,1次查指定行)`但是不是
$sql="select count(name_id) from newusers where name_id like '$name'";

而是$sql="select name_id from newusers where name_id like '$name'";

不知道为什么网上找的都是说count(*),但是我没得到总记录数```` :x
[b]问题补充:[/b]
[quote]不是查找name_id吗?
1.select count(name_id) from newusers where name_id like '$name'

2.select count(*) from newusers where name_id like '$name'

两者都一样的作用,但听说1快于2[/quote]

上面2者我使用都没得到总记录数,
我用的是
[code="PHP"]select name_id from newusers where name_id like '$name'

$result=mysql_query($sql);

$count=mysql_num_rows($result);//查询总数 [/code]

然后再写一个查询语句查"select * from newusers where name_id like '$name' limit m,n"; :x ``

[quote]'$name' 不是用加号连的吗,[/quote]
PHP连接字符串用.`而不是+了`我这里的m,n就是在引号外用.连接的`嘿嘿 ,不然要报错[code="PHP"]"select * from newusers where name_id like '$name' limit "$m.",".$n;

[/code]
我是这样写的不知道还有没更好的方法

[b]问题补充:[/b]
[quote]"select * from newusers where name_id like '$name' limit m,n";

有结果吗[/quote]

有啊:)大致完成了我的想法,功能也实现了,只是不知道有没更好的查询方式`:roll:像这种如果可以一次查到就安逸了`
[b]问题补充:[/b]
[quote]SELECT a.*,b.* FROM newusers a,(SELECT count(*) FROM newusers a where name_id like '$name') b where name_id like '$name' limit m,n;[/quote]

这里的a和b是什么?不是很明白`
[b]问题补充:[/b]
[quote]SELECT a.*,b.* FROM newusers a,(SELECT count(*) FROM newusers a where name_id like '$name') b where name_id like '$name' limit m,n; [/quote]

如何取总记录数呢?

我试了下,只得到了查询的指定内容,``总记录数在这里应该如何取?
[b]问题补充:[/b]
[quote]SELECT a.*,b.con FROM newusers a,(SELECT count(*) con FROM newusers a where name_id like '$name') b where name_id like '$name' limit m,n;[/quote]

乖乖,终于明白点点了``` :idea:

php

11个回答

总记录数 查询结果的最后一个.

[code="sq"]SELECT a.*,b.con FROM newusers a,(SELECT count(*) con FROM newusers a where name_id like '$name') b where name_id like '$name' limit m,n;[/code]

con就是

首先查找去所有记录的总行数

$sql="select count(name_id) from newusers where name_id like '$name'";

再查找指定的行.要分开的

是啊 AJAX只负责传送他要那一页有东西吗;

PHP再去计算是多少行到多少行吗?再到DB去取.

分页不想写在PHP里

ajax 又不能调用DB

是啊,还有每页的大小

[code="java"]select name_id from newusers where name_id like '$name';[/code]

不是查找name_id吗?
1.select count(name_id) from newusers where name_id like '$name'

2.select count(*) from newusers where name_id like '$name'

两者都一样的作用,但听说1快于2

[code="java"]不知道为什么网上找的都是说count(*),但是我没得到总记录数[/code]

select * from newusers where name_id like '$name' limit m,n 有结果吗

php不太懂.
$sql="select * from newusers where name_id like '$name' limit m,n";

'$name' 不是用加号连的吗,用java的话是这样的

$sql="select * from newusers where name_id like '"+$name+"' limit m,n";

不知php是不是这样的

"select * from newusers where name_id like '$name' limit m,n";

有结果吗

[code="sql"]SELECT a.*,b.* FROM article a,(SELECT count(*) FROM article a) b;[/code]

[code="sql"]SELECT a.*,b.* FROM newusers a,(SELECT count(*) FROM newusers a where name_id like '$name') b where name_id like '$name' limit m,n;[/code]

这个可以

SELECT [color=red]a[/color].*,[color=cyan]b[/color].* FROM newusers [color=red]a[/color],(SELECT count(*) FROM newusers a where name_id like '$name')[color=cyan] b[/color] where name_id like '$name' limit m,n;

都是表的别名,b是子查询

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐