想展示这样的表格,我想的是用多维数组 还是循环产生 相同地方的td 用rowspan=xx 我弄的结果集的结构是:
Array
(
    [10027012] => Array
        (
            [0] => Array
                (
                    [id] => 24882
                    [doid] => 10027012
                    [uid] => 210876
                    [revenue] => 10.00
                    [insertDate] => 2010-12-09
                    [confirmDate] => 0
                    [payDate] => 0
                    [status] => 0
                    [description] => 转发奖励
                    [type] => 0
                    [xf_area] => 河北
                    [zf_first_count] => 13243
                    [zf_total] => 13243
                )            [1] => Array
                (
                    [id] => 24882
                    [doid] => 10027012
                    [uid] => 210876
                    [revenue] => 10.00
                    [insertDate] => 2010-12-09
                    [confirmDate] => 0
                    [payDate] => 0
                    [status] => 0
                    [description] => 转发奖励
                    [type] => 0
                    [xf_area] => 北京
                    [zf_first_count] => 0
                    [zf_total] => 0
                )            [2] => Array
                (
                    [id] => 24882
                    [doid] => 10027012
                    [uid] => 210876
                    [revenue] => 10.00
                    [insertDate] => 2010-12-09
                    [confirmDate] => 0
                    [payDate] => 0
                    [status] => 0
                    [description] => 转发奖励
                    [type] => 0
                    [xf_area] => 河南
                    [zf_first_count] => 542
                    [zf_total] => 542
                )        ))
用 php+html 我整出来了
<table  width="700px" border="0" cellpadding="0" cellspacing="0" border="1">
      <tr>
         <td><strong>序号</strong></td>
         
         <td><strong>作品id</strong></td>
         <td><strong>局点</strong></td>
         <td><strong>转发量</strong></td>
         
         <td><strong>账务时间</strong></td>
         <td><strong>转发总量</strong></td>
         <td><strong>金额</strong></td>
      </tr>
      <!--{loop $res $key $value}-->      
       <!--{loop $value $key2 $xx}-->
   <tr>
   <!--{if $key2==0}-->
     <td rowspan="<!--{eval echo count($value)}-->" ><!--{eval echo 1+$counter++;}--></td>
     <!--{/if}-->
     
      <td>{$xx['doid']}</td>
      <td>{$xx['xf_area']}</td>
      <td>{$xx['zf_first_count']}</td>
      
     <!--{if $key2==0}-->   
      <td rowspan="<!--{eval echo count($value)}-->">{$xx['insertDate']}</td>
      <td rowspan="<!--{eval echo count($value)}-->">{$xx['zf_total']}</td>
      <td rowspan="<!--{eval echo count($value)}-->">{$xx['revenue']}</td>
     <!--{/if}-->
      </tr>
       <!--{/loop}-->
      <!--{/loop}-->
   </table>是这样的:但是现在想要ajax请求结果集 然后再回调里生成这个table 
j.get("./xin/xin_ajax_cwdz_revenue_zf_detail.php",{uid:uid,type:type},function(data){
alert(data); var table="<table width='100%' border='0' cellspacing='0' cellpadding='0' style='background:#FFFFCC;line-height:16px;'>"+
   "<tr>"+
   "<td style='height:18px;padding:2px 5px;line-height:18px;color:#666'>序号</td>"+
   "<td style='height:18px;padding:2px;line-height:18px;color:#666'>作品ID</td>"+
   "<td style='height:18px;padding:2px;line-height:18px;color:#666'>局点</td>"+
   "<td style='height:18px;padding:2px;line-height:18px;color:#666'>转发量</td>"+
   "<td style='height:18px;padding:2px;line-height:18px;color:#666'>账务时间</td>"+
   "<td style='height:18px;padding:2px;line-height:18px;color:#666'>转发总量</td>"+
   "<td style='height:18px;padding:2px;line-height:18px;color:#666'>金额 |<a onclick='j(\"#xin_ajax_cwdz_revenue_detail\").hide();' style='cursor:pointer;color:red'>关闭</a></td>"+
  
   "</tr>";
if(data!=''){

//alert(data);

  var results=eval('('+data+')'); 
  
  var counter=1;
  if(results!=null){
var  res_len=results.length;
  alert(res_len);//报这里是undefined   for(var obj in results){ 
var obj_len=obj.length;
alert(obj_len);//报这里是8 for(var j=0;j<obj_len;j++){
var rs=obj[j];
table+="<tr>";
if(j==0){
table+="<td style='height:18px;padding:2px;line-height:18px' rowspan="+obj_len+">"+counter+"</td>";
}
table+="<td style='height:18px;padding:2px;line-height:18px'>"+rs.doid+"</td>";
table+="<td style='height:18px;padding:2px;line-height:18px'>"+rs.xf_area+"</td>";
table+="<td style='height:18px;padding:2px;line-height:18px'>"+rs.zf_first_count+"</td>";
   if(j==0){
    table+="<td style='height:18px;padding:2px;line-height:18px'rowspan="+obj_len+">"+rs.insertDate+"</td>";
    table+="<td style='height:18px;padding:2px;line-height:18px'rowspan="+obj_len+">"+rs.zf_total+"</td>";
    table+="<td style='height:18px;padding:2px;line-height:18px'rowspan="+obj_len+">"+rs.revenue+"</td>";
   }
        table+="</tr>";   

}

           counter++;
  }
   }
}
  table+="</table>";
  //alert(table);
  objdiv.html(table);

});
出了上面的问题 ,难道json不支持多维数组么?郁闷

解决方案 »

  1.   

    j.get("./xin/xin_ajax_cwdz_revenue_zf_detail.php",{uid:uid,type:type},function(data){
    alert(data);var table="<table width='100%' border='0' cellspacing='0' cellpadding='0' style='background:#FFFFCC;line-height:16px;'>"+
    "<tr>"+
    "<td style='height:18px;padding:2px 5px;line-height:18px;color:#666'>序号</td>"+
    "<td style='height:18px;padding:2px;line-height:18px;color:#666'>作品ID</td>"+
    "<td style='height:18px;padding:2px;line-height:18px;color:#666'>局点</td>"+
    "<td style='height:18px;padding:2px;line-height:18px;color:#666'>转发量</td>"+
    "<td style='height:18px;padding:2px;line-height:18px;color:#666'>账务时间</td>"+
    "<td style='height:18px;padding:2px;line-height:18px;color:#666'>转发总量</td>"+
    "<td style='height:18px;padding:2px;line-height:18px;color:#666'>金额 |<a onclick='j(\"#xin_ajax_cwdz_revenue_detail\").hide();' style='cursor:pointer;color:red'>关闭</a></td>"+
      
    "</tr>";
    if(data!=''){//alert(data);var results=eval('('+data+')');  
      
    var counter=1;
    if(results!=null){
    var res_len=results.length;
    alert(res_len);//报这里是undefined for(var obj in results){  
    var obj_len=obj.length;alert(obj_len);//报这里是8 
    for(var j=0;j<obj_len;j++){
    var rs=obj[j];
    table+="<tr>";
    if(j==0){
    table+="<td style='height:18px;padding:2px;line-height:18px' rowspan="+obj_len+">"+counter+"</td>";
    }
    table+="<td style='height:18px;padding:2px;line-height:18px'>"+rs.doid+"</td>";
    table+="<td style='height:18px;padding:2px;line-height:18px'>"+rs.xf_area+"</td>";
    table+="<td style='height:18px;padding:2px;line-height:18px'>"+rs.zf_first_count+"</td>";
    if(j==0){
    table+="<td style='height:18px;padding:2px;line-height:18px'rowspan="+obj_len+">"+rs.insertDate+"</td>";
    table+="<td style='height:18px;padding:2px;line-height:18px'rowspan="+obj_len+">"+rs.zf_total+"</td>";
    table+="<td style='height:18px;padding:2px;line-height:18px'rowspan="+obj_len+">"+rs.revenue+"</td>";
    }
    table+="</tr>";   }counter++;
    }
    }
    }
    table+="</table>";
    //alert(table);
    objdiv.html(table);});
      

  2.   

    呵呵~~都没精力看这么长的东西!将数组转换成json即可!
      

  3.   


    我戳你啊,易晨,我是龙哥哥啊,之前我们在世纪佳缘是同事呢我输出那个结构是供大家好分析,ajax请求得到的就是那个数组json_encode()后的东东啊,然后js搞啊搞,搞出问题了