关于spPager的问题求助。
发布于:2022-01-17 09:50:54
#1 Luffy。龙
呃。也许是
的问题。
$sql = "SELECT *
FROM qing_member A
LEFT JOIN qing_star B on (A.uid = B.uid)
ORDER BY rand()";
$this->stars = spClass('db_member')->spPager($this->spArgs('page',1),12)->findSql($sql);
$page = spClass('db_member')->spPager()->getPager();
SELECT COUNT(uid) as sp_counter FROM (SELECT * FROM qing_member A LEFT JOIN qing_star B on (A.uid = B.uid) ORDER BY rand()) sp_tmp_table_pager1
执行错误: Duplicate column name 'uid'
2012-03-28 16:15:52
#2 jake
http://www.speedphp.com/database-pager-sql.htmlspClass('db_member')->pk = 'A.uid';$this->stars = spClass('db_member')->spPager($this->spArgs('page',1),12)->findSql($sql);
$page = spClass('db_member')->spPager()->getPager();
2012-03-28 16:58:04
#3 Luffy。龙
三克油:$:$
2012-03-28 17:01:37
#4 fosf
我以前用过一次这样的报错,我就换其它的了,呵呵:loveliness:
2012-03-28 17:03:53
#5 Luffy。龙
:( 加上表明还是一样的错误- -
2012-03-28 17:08:27
#6 Luffy。龙
$sql = "SELECT A.*, B.*
FROM qing_member A
LEFT JOIN qing_star B on (A.uid = B.uid)
ORDER BY rand()";
spClass('db_member')->pk = 'A.uid';
$this->stars = spClass('db_member')->spPager($this->spArgs('page',1),12)->findSql($sql);
$page = spClass('db_member')->spPager()->getPager();
2012-03-28 17:09:03
#7 Luffy。龙
$sql = "SELECT qing_member.uid
FROM qing_member
LEFT JOIN qing_star on (qing_member.uid = qing_star.uid)
ORDER BY rand()";
spClass('db_member')->pk = 'uid';
$this->stars = spClass('db_member')->spPager($this->spArgs('page',1),12)->findSql($sql);
$page = spClass('db_member')->spPager()->getPager();
这样就对了,在pk里不能加表,因为中间的查询结果的字段不带表。。。
2012-03-28 17:19:40
#8 jake
spClass('db_member')->pk = '*';
2012-03-28 17:19:54
#9 Luffy。龙
jake 发表于 2012-3-28 17:19
spClass('db_member')->pk = '*';
$sql = "SELECT qing_member.*
FROM qing_member
LEFT JOIN qing_star on (qing_member.uid = qing_star.uid)
ORDER BY rand()";
spClass('db_member')->pk = '*';
这样是对的
$sql = "SELECT qing_member.*, qing_star.*
FROM qing_member
LEFT JOIN qing_star on (qing_member.uid = qing_star.uid)
ORDER BY rand()";
spClass('db_member')->pk = '*';
这样又错了- -
2012-03-28 17:41:36
#10 jake
嗯,估计这个问题解决不了。
spPager + findSql 只能计算比较简单的SQL,复杂的还是要你自己去做分页了。
2012-03-28 18:38:00