Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde galera.
Estou com um problema para conseguir gerar rowspan dinamicos.
Já tentei fazer camparando valores tipo valor1 e valor2, já tentei fazendo um consulta contanto qts itens existe para aplicar o rowspan, porém nenhuma das duas soluções que tentei tive sucesso.
Oq me deixa mais P da vida, é que já fiz isso a mts anos atrás e não lembro que está faltando. Essa tal de PVC e DNAs são complicadas.
Se alguém estiver algum exemplo de como fazer isso só para eu comparar com meu código eu agradeço.
<tbody>
<?php
$siglaAtual = '';
for($i=0; $i < count($estrutura_adm); $i++):
//foreach($conta_tipos as $tipo):
?>
<tr>
<?php if($estrutura_adm[$i]['SIGLA'] == $conta_tipos[$i]['SIGLA']): ?>
<td class="text-center" rowspan="<?php echo $conta_tipos[$i]['CONTA_SIGLA']; ?>"><?php echo $estrutura_adm[$i]['SIGLA']; ?></td>
<?php endif; ?>
<td><?php echo $estrutura_adm[$i]['NOME_ATIVO']; ?></td>
<td><?php echo $estrutura_adm[$i]['AGENTE']; ?></td>
<td><?php echo $estrutura_adm[$i]['TIPO_ADM']; ?></td>
<td class="text-center"><?php echo $estrutura_adm[$i]['DATA_INICIO']; ?></td>
<td class="text-center"><?php echo $estrutura_adm[$i]['STATUS']; ?></td>
</tr>
<?php
//endforeach;
endfor;
?>
</tbody>
E tb tentei assim:
<tbody>
<?php
$siglaAtual = '';
$siglaAntiga = '';
foreach($estrutura_adm as $adm):
$siglaAntiga = $adm['SIGLA'];
if($siglaAtual != $siglaAntiga){
$siglaAtual = $siglaAntiga;
}
?>
<tr>
<?php //if($adm['SIGLA'] == $conta_tipos[$i]['SIGLA']): ?>
<?php //endif; ?>
<td class="text-center" rowspan=""><?php echo $siglaAtual; ?></td>
<td><?php echo $adm['NOME_ATIVO']; ?></td>
<td><?php echo $adm['AGENTE']; ?></td>
<td><?php echo $adm['TIPO_ADM']; ?></td>
<td class="text-center"><?php echo $adm['DATA_INICIO']; ?></td>
<td class="text-center"><?php echo $adm['STATUS']; ?></td>
</tr>
<?php
endforeach;
?>
</tbody>
No if iria criar um contador por tipo e colocaria no rowspan.
está dando algum erro?
ExtremsX, o erro é que a lógica que estou tentando cria não está funcionado. No primeiro exemplo, no funciona bem o controle que deveria atualizar o valor da variável $siglaAtual.
Já no segundo o erro que aparece é de indexação do array já q tenho um for varrendo 1 array e companrando com um outro q tem menos elementos.
Consegui, resolver com uma outra lógica.
Foi baseada nesse exemplo:
<?php
mysql_connect('localhost','root','');
mysql_select_db('test');
$sql = mysql_query("SELECT A.*, (SELECT COUNT(fakultas) FROM tbfakultas WHERE fakultas=A.fakultas) AS jumlah FROM tbfakultas A ORDER BY A.fakultas");
$no = 1;
$jum = 1;
echo '<table cellpadding="5 " border="1">';
echo '<tr><th>No</th><th>Fakultas</th><th>Jurusan</th></tr>';
while($row = mysql_fetch_array($sql)) {
echo '<tr>';
if($jum <= 1) {
echo '<td align="center" rowspan="'.$row['jumlah'].'">'.$no.'</td>';
echo '<td rowspan="'.$row['jumlah'].'">'.$row['fakultas'].'</td>';
$jum = $row['jumlah'];
$no++;
} else {
$jum = $jum - 1;
}
echo '<td>'.$row['jurusan'].'</td>';
echo '</tr>';
}
echo '</table>';
?>
Fonte: http://blog.didinsino.com/2013/04/rowspan-dinamis-ketika-menampilkan-data.html
Como você está tentando?