select * from table1 union all select * from table2 union all ... union all select * from tablen
SELECT id,title,username,fname,posttime FROM p8_fenlei_content WHERE 1 UNION ALL SELECT id,title,username,fname,posttime FROM p8_ceshi_content WHERE 1 UNION ALL SELECT id,title,username,fname,posttime FROM p8_news_content WHERE 1 这样做只读了一个表出来,fenlei_这个表没有title,username,fname,posttime 字段还能链接查询吗?不能的话怎么只识别ceshi_和news_里面的内容?
不好意思,是全部查出来了,只是在php里面进行了分页。 分页后的内容没有读出来,应该怎么弄啊?
PHP中你是如何进行分页的?代码是什么?
for ($n=0;$n<count($areapre);$n++) { //echo $areapre[$n]."<br>"; if(substr($areapre[$n],strlen($areapre[$n])-1)=="_") { $sql="SELECT id,title,username,fname,posttime FROM {$pre}$areapre[$n]content WHERE $SQL UNION ALL"."\n".$sql; } } $sql=substr($sql,0,strlen($sql)-12)." order by posttime LIMIT 0, 1000"; 没有进行分页,但是输出网页他就是只显示30几行数据。 我人工数了,有50多条
调试一下,看一下$sql=substr($sql,0,strlen($sql)-12)." order by posttime LIMIT 0, 1000"; 执行完后 $sql 的内容是什么。
这些都是正确的。 SELECT id,title,username,fname,posttime FROM p8_fenlei_content WHERE 1 UNION ALL SELECT id,title,username,fname,posttime FROM p8_ceshi_content WHERE 1 UNION ALL SELECT id,title,username,fname,posttime FROM p8_news_content WHERE 1 order by posttime desc 这是输出的内容 我放到phpmyadmin里面都能全部输出,只是phpmyadmin分了页。 我没分页的话在网页上就只显示30行数据
这个SQL语句明显和你的PHP代码中的一样。至少看不到那个 order by posttime LIMIT 0, 1000 了,并且还多出来一个 desc.是否是你从你的PHP调试出来的结果?
from table1
union all
select *
from table2
union all
...
union all
select *
from tablen
这样做只读了一个表出来,fenlei_这个表没有title,username,fname,posttime 字段还能链接查询吗?不能的话怎么只识别ceshi_和news_里面的内容?
分页后的内容没有读出来,应该怎么弄啊?
//echo $areapre[$n]."<br>";
if(substr($areapre[$n],strlen($areapre[$n])-1)=="_")
{
$sql="SELECT id,title,username,fname,posttime FROM {$pre}$areapre[$n]content WHERE $SQL UNION ALL"."\n".$sql;
}
} $sql=substr($sql,0,strlen($sql)-12)." order by posttime LIMIT 0, 1000";
没有进行分页,但是输出网页他就是只显示30几行数据。
我人工数了,有50多条
执行完后 $sql 的内容是什么。
SELECT id,title,username,fname,posttime FROM p8_fenlei_content WHERE 1 UNION ALL SELECT id,title,username,fname,posttime FROM p8_ceshi_content WHERE 1 UNION ALL SELECT id,title,username,fname,posttime FROM p8_news_content WHERE 1 order by posttime desc
这是输出的内容
我放到phpmyadmin里面都能全部输出,只是phpmyadmin分了页。
我没分页的话在网页上就只显示30行数据
我就是在网页上输出$sql的内容,在复制输出的sql语句到phpmyadmin上运行,是正确的,能得到所有表的内容
在网页上就只输出30行数据