php - 双tr数组

扫码查看

有:

我想创建带有1行(tr)的表(如树的标头和其他行)为cicle数组,其中父id =第一行(标头);但是查询的结果建立了cicle header1-content1 header1-contet2(并将为header1-content1-content2-content3)

文件中的PHP代码:

$query = "SELECT cafedra.*, facultet.f_name FROM cafedra,facultet WHERE facultet_id = facultet.id";
$row = $db->select($query);
$cafedra = "";
foreach($row as $r) {
$result = "<tr class='info'>
               <td colspan='5'>$r[f_name]</td>
           </tr>
           <tr>
               <td class='span1' > $r[code] </td>
               <td style='text-align:left;'> $r[c_name]</td>
               <td><a id='view-$r[id]' href='/facultet/$r[id]' class='btn btn-mini btn-success'><i class='icon-desktop icon-large'></i></a></td>
               <td><button id='edit-$r[id]' class='btn btn-mini btn-warning' ><i class='icon-pencil icon-large'></i></button></td>
               <td><button id='delete-$r[id]' class='btn btn-mini btn-danger' ><i class='icon-trash icon-large'></i></button></td>
           </tr>";
$cafedra .= $result;
 }


文件中的HTML代码:

<br/>
<h1>  </h1>
<br/><br/>
<div class="row-fluid">
<div id="facultet" class="span9 offset1">
   <table class="table table-hover">
    <tbody>

<?php echo $cafedra; ?>

   </tbody>
  </table>
</div>
</div>





需要:

最佳答案

有多种方法可以完成此操作,但是最简单的方法之一就是对数据进行排序。

首先,您必须按自己的喜好对数据进行排序:

SELECT cafedra.*, facultet.f_name FROM cafedra,facultet WHERE facultet_id = facultet.id ORDER BY facultet.f_name ASC ;


然后在PHP中进行整理:

$data = array() ;

foreach($row as $key => $value){
  $f_name = $value['f_name'] ;
  if (!isset($data[$f_name]){
    $data[$f_name] = array() ;
  }
  $data[$f_name][] = $value ;
}


然后输出:

foreach($data as $header => $rows){
  $result = "<tr class='info'>
               <td colspan='5'>$r[f_name]</td>
           </tr> " ;
  foreach($rows as $row){
    $result .= "
           <tr>
               <td class='span1' > $r[code] </td>
               <td style='text-align:left;'> $r[c_name]</td>
               <td><a id='view-$r[id]' href='/facultet/$r[id]' class='btn btn-mini btn-success'><i class='icon-desktop icon-large'></i></a></td>
               <td><button id='edit-$r[id]' class='btn btn-mini btn-warning' ><i class='icon-pencil icon-large'></i></button></td>
               <td><button id='delete-$r[id]' class='btn btn-mini btn-danger' ><i class='icon-trash icon-large'></i></button></td>
           </tr>";
  }
$cafedra .= $result;
}

07-24 09:39
查看更多