>백엔드 개발 >PHP 튜토리얼 >循环结果集不同性。

循环结果集不同性。

WBOY
WBOY원래의
2016-06-23 14:09:38929검색

$sql="select * from a where id='$Id'";$result=$mysqli->query($sql);while($r=$result->fetch_assoc()){ echo $r.'<br>';//循环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.='<li><span class="s1"><a href="/'.$leibieUrl.'/" target="_blank">['.$chaRs['Name'].']</a></span>';    $zj.='<span class="s2"><a href="/'.$xsURL.'/" target="_blank">'.$rsrow['xClass'].'</a></span>';    $zj.='<span class="s3"><a href="/'.$xsURL.'/'.$zjURL.'/" target="_blank">'.$rsrow['Title'];    $zj.='</a></span><span class="s4">'.$rsrow['Item1'].'</span><span class="s5">'.date('H:i:s',strtotime($shijian)).'</span></li>';    //$zj.= $xsURL.'--'.$rsrow['xClass'].'-'.$zjURL.'-'.$rsrow['Title'].'--<br>';}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.