2013-06-02 82 views
0

HAVE:双TR阵列

我想创建表1行(tr)等树的报头和其它行是cicle阵列,其中父ID =第一行(头);但查询的结果内置cicle头1 - 内容1头1 - contet2(和将头1 - 内容1,内容2-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> 

需要:

回答

0

有几种方法可以实现,但其中最简单的方法是订购数据。

首先,你必须为了你的数据,你怎么样:

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; 
} 
+0

tahks,解决方法如下: – user1029691

0

谢谢,解决:

<?php 

$cafedra = ""; 
$query = "SELECT facultet.* FROM facultet ORDER BY facultet.id ASC"; 
$row = $db->select($query); 
foreach($row as $r){ 
    $result = "<tr class='info'> 
       <td colspan='5'>$r[f_name]</td> 
      </tr>" ; 

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

?> 

<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> 

_http://i.stack.imgur.com/paV5j.png