热搜:NVER node 开发 php

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

2024-09-04 20:40:02
如何第一条新闻显示摘要,后面的只显示标题



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

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