query($sql);while($r=$result->fetch_assoc()){ echo $r.'';//循环5次。}">
当前位置:Gxlcms > PHP教程 > 循环结果集不同性。

循环结果集不同性。

时间:2021-07-01 10:21:17 帮助过:4人阅读

$sql="select * from a where id='$Id'";$result=$mysqli->query($sql);while($r=$result->fetch_assoc()){ echo $r.'
';//循环5次。}


得到的结果是

1:名字2
2:名字1
3:名字1
4:名字3
5:名字1

如果只求出现1次 名字1 在循环里,是怎么写的?


回复讨论(解决方案)

不知道你的数据是如何组织的!
一个 id 居然对应 5 条记录

再说 $r=$result->fetch_assoc() 得到的是数组
你 echo $r.'
'; 也不可能得到你说的结果

$sql="select * from a where id='$Id'";$result=$mysqli->query($sql);while($r=$result->fetch_assoc())$r=array_unique($r);print_r($r)

不知道你的数据是如何组织的!
一个 id 居然对应 5 条记录

再说 $r=$result->fetch_assoc() 得到的是数组
你 echo $r.'
'; 也不可能得到你说的结果

数据的结构是,
A表 名字 B表文章

根据B表的文章最新而最新,调用A表的名字,说是谁谁更新了文章。
如果1个人连续更新了N篇文章就重复了。

$sql="select * from a where id='$Id'";$result=$mysqli->query($sql);while($r=$result->fetch_assoc())$r=array_unique($r);print_r($r)


这也是种办法咯,不过我这是2个表同时查询的。如果用视图的话,这个办法挺好的。

查询加上 DISTINCT 属性

建议你贴出你的
create table....;
insert into table.... 语句

期望结果是怎么样的,并简单描述一下算法逻辑。

建议你贴出你的
create table....;
insert into table.... 语句

期望结果是怎么样的,并简单描述一下算法逻辑。

完整如下咯。麻烦看下。

$c="select a.id,a.Name,a.DCName,a.CURL,a.Item1,b.Nid, b.xClass,b.Title,b.NURL,b.CreateDate from  xclass a,news b  where  a.Name=b.xClass  ORDER  by Nid desc limit 0,15";$result=$mysqli->query($c);while($rsrow=$result->fetch_assoc()){    $xsURL='';    if($rsrow['CURL']==''){$xsURL=$rsrow['id'];}else{$xsURL=$rsrow['CURL'];}    $zjURL='';    if($rsrow['NURL']==''){$zjURL=$rsrow['Nid'];}else{$zjURL=$rsrow['NURL'];}    $chadaleiName=$rsrow['DCName'];    $chadalei="select * from dclass where Name='$chadaleiName'";    $cha=$mysqli->query($chadalei);    $chaRs=$cha->fetch_assoc();    $leibieUrl='';    if($chaRs['CName']==''){$leibieUrl=$chaRs['Id'];}else{$leibieUrl=$chaRs['CName'];}    $cha->free();    $shijian=$rsrow['CreateDate'];    $zj.='
  • ['.$chaRs['Name'].']'; $zj.=''.$rsrow['xClass'].''; $zj.=''.$rsrow['Title']; $zj.=''.$rsrow['Item1'].''.date('H:i:s',strtotime($shijian)).'
  • '; //$zj.= $xsURL.'--'.$rsrow['xClass'].'-'.$zjURL.'-'.$rsrow['Title'].'--
    ';}

    人气教程排行