Home >Backend Development >PHP Tutorial >如何第一条新闻显示摘要,后面的只显示标题

如何第一条新闻显示摘要,后面的只显示标题

WBOY
WBOYOriginal
2016-06-23 14:02:161089browse



如图,如何第一条新闻显示摘要,后面的只显示标题。说下思路。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

你在输出摘要时,只需判断摘要内容是否非空,如果非空则输出,为“”则不输出

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn