php对查询多个表的结果分页
部分代码$type=$_GET['search'];if($type=='all'||$type=='source'){$sql1="select*from`source...
部分代码
$type=$_GET['search'];
if($type=='all'||$type=='source')
{
$sql1="select * from `source` where $ke";
$query1=mysql_query($sql1,$cont)or die("aab");
while($rs1=mysql_fetch_array($query1)){
foreach($ky as $k1=>$v1)
{
$rs1['title']=preg_replace("/$ky[$k1]/i","<font color=red><b>$ky[$k1]</b></font>",$rs1['title']);
}
?>
<a href="topic.php?id=<?php echo $rs1['sid']?>"><?php echo $rs1['title']."<br>"?>
<?php
}
}
if($type=='all'||$type=='news')
{
$sql2="select * from `news` where $ke";
$query2=mysql_query($sql2,$cont)or die("aac");
while($rs2=mysql_fetch_array($query2)){
foreach($ky as $k2=>$v2)
{
$rs2['title']=preg_replace("/$ky[$k2]/i","<font color=red><b>$ky[$k2]</b></font>",$rs2['title']);
}
?>
<a href="topic.php?id=<?php echo $rs2['nid']?>"><?php echo $rs2['title']."<br>"?>
<?php
}
}
if($type=='all'||$type=='topic')
{
$sql="select * from `topic` where $ke";
$query=mysql_query($sql,$conb)or die("aa");
while($rs=mysql_fetch_array($query)){
foreach($ky as $k=>$v)
{
$rs['title']=preg_replace("/$ky[$k]/i","<font color=red><b>$ky[$k]</b></font>",$rs['title']);
}
?>
<a href="topic.php?id=<?php echo $rs['tid']?>"><?php echo $rs['title']."<br>"?>
<?php
}
}
}
else
{
echo"<script>alert('请输入您要检索关键词');history.back();</script>";
}
上面是查询的代码,要怎么才能正确分页呢,之前只学到过对一个表的分页,要求一页显示10条记录,如果按之前的分页写的话,全站检索的时候一页会出现30条记录,source和news表与topic表所在的数据库不同,还有如果没有找到相关记录怎么正确的输出“未找到相关记录”,写在单个的检索里,如果是全站检索会出现三个未找到相关记录,写在外面老是出现逻辑错误。 展开
$type=$_GET['search'];
if($type=='all'||$type=='source')
{
$sql1="select * from `source` where $ke";
$query1=mysql_query($sql1,$cont)or die("aab");
while($rs1=mysql_fetch_array($query1)){
foreach($ky as $k1=>$v1)
{
$rs1['title']=preg_replace("/$ky[$k1]/i","<font color=red><b>$ky[$k1]</b></font>",$rs1['title']);
}
?>
<a href="topic.php?id=<?php echo $rs1['sid']?>"><?php echo $rs1['title']."<br>"?>
<?php
}
}
if($type=='all'||$type=='news')
{
$sql2="select * from `news` where $ke";
$query2=mysql_query($sql2,$cont)or die("aac");
while($rs2=mysql_fetch_array($query2)){
foreach($ky as $k2=>$v2)
{
$rs2['title']=preg_replace("/$ky[$k2]/i","<font color=red><b>$ky[$k2]</b></font>",$rs2['title']);
}
?>
<a href="topic.php?id=<?php echo $rs2['nid']?>"><?php echo $rs2['title']."<br>"?>
<?php
}
}
if($type=='all'||$type=='topic')
{
$sql="select * from `topic` where $ke";
$query=mysql_query($sql,$conb)or die("aa");
while($rs=mysql_fetch_array($query)){
foreach($ky as $k=>$v)
{
$rs['title']=preg_replace("/$ky[$k]/i","<font color=red><b>$ky[$k]</b></font>",$rs['title']);
}
?>
<a href="topic.php?id=<?php echo $rs['tid']?>"><?php echo $rs['title']."<br>"?>
<?php
}
}
}
else
{
echo"<script>alert('请输入您要检索关键词');history.back();</script>";
}
上面是查询的代码,要怎么才能正确分页呢,之前只学到过对一个表的分页,要求一页显示10条记录,如果按之前的分页写的话,全站检索的时候一页会出现30条记录,source和news表与topic表所在的数据库不同,还有如果没有找到相关记录怎么正确的输出“未找到相关记录”,写在单个的检索里,如果是全站检索会出现三个未找到相关记录,写在外面老是出现逻辑错误。 展开
3个回答
展开全部
添加一个参数: page
起始记录= page * 每页条数
sql查询的时候:在SQL查询语句加上: limit 起始记录,10条
起始记录= page * 每页条数
sql查询的时候:在SQL查询语句加上: limit 起始记录,10条
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用array_slice做分页,不建议联合查询,sql效率低
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询