循环结果集不同性。
程序员文章站
2022-05-21 17:33:29
...
$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.='
';}