Heim >Backend-Entwicklung >PHP-Tutorial >如何第一条新闻显示摘要,后面的只显示标题
如图,如何第一条新闻显示摘要,后面的只显示标题。说下思路。sql语句怎么取数据?
输出的时候控制就可以了
可以sql语句分2次查询,也可以在mysql_fetch_row里做文章
$i=0
while($rows = mysql_fetch_array($query)){
if($i==0){
//第一条记录,echo出标题和摘要
}else{
//后几条记录,只echo出标题
}
$i++;
}
输出的时候控制就可以了
你的意思是sql语句把标题,摘要都取出来,判断如果是第一条,输出标题和摘要,否则只输出标题。
那这样的话sql语句查询的东西很多,要用的很少。。
可以sql语句分2次查询,也可以在mysql_fetch_row里做文章
$i=0
while($rows = mysql_fetch_array($query)){
if($i==0){
//第一条记录,echo出标题和摘要
}else{
//后几条记录,只echo出标题
}
$i++;
}
你说的是个方法。那还是查询两次把。
这年头,内存不值钱,能在内存处理的就在内存处理,而不是去查询数据库两遍
你连显示的样式都不同,应该是查询两次
你连显示的样式都不同,应该是查询两次
可以来个循环,里面设个判断,if第一条,那么再执行一个php函数,获取摘要。这样可以吧。
你说的那种是可以的。怎样方便就怎样来。
引用 6 楼 xuzuning 的回复:你连显示的样式都不同,应该是查询两次
可以来个循环,里面设个判断,if第一条,那么再执行一个php函数,获取摘要。这样可以吧。 这不又查询两次啦?
其实,首条并不一定就是最新的
明显2次,你不能保证每次第一条都有图片的吧,或者你不能保证每次前面查询的几条有图片的吧
两种方式都行,别在这人纠结:
1、一次查询,输出时判断;
2、分别查询,分别输出;
foreach($data as $key=>$val){if ($key == 0){ 第一条自己特殊处理}}
一般的作法一条查询,IF去判断一下,HTML而己,你懂的
把要的东西查一次出来
判断一下就好了。。
取出全部,
然后输出做判断
$num=1;
$num=$num++
if($num==1){
xxxxx
}
else{
xxxxxxxxxxxx
}
比如你用的mysql数据库,然后你的tb_news为新闻表
如果你想做分页,那么就应该有curPage当前页码,pageSize一页显示多少条新闻
SQL语句为:
select title,content from tb_news limit (curPage-1)*pageSize,1
union
select title,"" from tb_news limit (curPage-1)*pageSize,pageSize-1
你在输出摘要时,只需判断摘要内容是否非空,如果非空则输出,为“”则不输出