Home >Backend Development >PHP Tutorial >查询数组中摸个字段的个数?
$r=mysql_query('select orderid,zhuangtai,group_concat(`name`) as name,group_concat(`shouji`) as shouji,group_concat(`sex`) as sex from `order` group by orderid'); echo "<table width=950 border='1px solid'>"; echo "<tr><th>姓名</th><th>手机</th><th>性别</th></tr>";while($row=mysql_fetch_assoc($r)){ $shouji_arr=explode(',',$row['shouji']); $sex_arr=explode(',',$row['sex']); echo "<td colspan=3>订单号:".$row[orderid]." 状态:".$row['zhuangtai']."</td>"; foreach(explode(',',$row['name']) as $k=>$v){ echo "<tr>"; echo "<td>$v</td><td>$shouji_arr[$k]</td><td>$sex_arr[$k]</td>"; echo "</tr>"; }}echo "</table>";
<td>$v</td><td>$shouji_arr[$k]</td><td>$sex_arr[$k]</td>中,$v的个数呢? 意思就是,怎么得到实际输出显示之后,这个
foreach( $t=explode(',',$row['name']) as $k=>$v){
count($t) 就是 $v 的个数
你也可以在 SQL 串中加一个 count(*) 来得到
你也可以在 foreach循环外面 定义一个整形变量为0
在循环体里面 自增
例如
$i=0;
foreach()
{
$i++;
}
本帖最后由 xuzuning 于 2013-03-16 15:55:30 编辑
foreach($t=explode(',',$row['name']) as $k=>$v){
count($t) 就是 $v 的个数
你也可以在 SQL 串中加一个 count(*) 来得到
非常感谢版主的回答,还有@zhangbin1988 的回答,如果我直接在foreach 里增加一个
<td rowspan='".count($t)."'>12121</td>的话,虽然是合并单元格了,但是这个合并的单元格也会循环输出count($t)次,怎么让这个单元格只输出一次呢?如果吧这个单元格单独放在foreach 的外面,是错位的,请教大大们!
$t = explode(',',$row['name']);
$s = "