У меня есть таблица rowspan dynamic в приложении CodeIgniter, например:
<table>
<tr>
<td>No</td>
<td>Data</td>
<td>Data 2</td>
<td>Qty</td>
<td>Price</td>
<td>Sub Total</td>
<td>TOtal</td>
</tr>
<?php
$source1 = $this->db->query("select * from table")->result_array();
$no=1;
foreach($source1 as source1){ ?>
<tr>
<?php
$source2 = $this->db->query("select * from table where data1='$source1[data1]'");
$total_source2 = $source2->num_rows();
$source3 = $source2->result_array();
?>
<td rowspan = "<?php echo $total_source2 ?>"><?php echo $no; ?></td>
<td rowspan = "<?php echo $total_source2 ?>"><?php echo $source1['data1']; ?></td>
<?php foreach($source3 as $source3){ ?>
<td><?php echo $source3['data2'] ?></td>
<td><?php echo $source3['qty'] ?></td>
<td><?php echo $source3['price'] ?></td>
<td><?php echo $source3['sub_total'] ?></td>
<td><?php echo $source3['total'] ?></td>
</tr>
<?php } ?>
<?php $no++; } ?>
</table>
Это результат моего кода:
Как это сделать
?
Спасибо.






Это примерно так же эффективно, как и все, что я могу придумать без фактического файла SQL, и я не уверен, работает ли он:
<table>
<tr>
<td>No</td>
<td>Data</td>
<td>Data 2</td>
<td>Qty</td>
<td>Price</td>
<td>Sub Total</td>
<td>Total</td>
</tr>
<?php
$source1 = $this->db->query("select * from table")->result_array();
$no = 1;
foreach ($source1 as $source1) {
?>
<tr>
<?php
$source2 = $this->db->query('select * from table where data1 = ' . $source1['data1']);
$total_source2 = $source2->num_rows();
$source3 = $source2->result_array();
$rowspan = true;
?>
<td rowspan = "<?php echo $total_source2 ?>"><?php echo $no; ?></td>
<td rowspan = "<?php echo $total_source2 ?>"><?php echo $source1['data1']; ?></td>
<?php foreach ($source3 as $source3) { ?>
<td><?php echo $source3['data2'] ?></td>
<td><?php echo $source3['qty'] ?></td>
<td><?php echo $source3['price'] ?></td>
<td><?php echo $source3['sub_total'] ?></td>
<?php
if ($rowspan) {
$q = $this->db->query('SELECT SUM(`sub_total`) as `nb` FROM `table` WHERE `data1` = ' . $source1['data1']);
echo "<td rowspan='{$total_source2}'>" . $q->row()->nb . '</td>';
$rowspan = false;
}
?>
</tr>
<?php } ?>
<?php
$no++;
}
?>
</table>
Спасибо большое. :)
Можете ли вы загрузить экспорт для файла sql для таблицы? Просто поместите его в бесплатную службу загрузки файлов и разместите здесь.