Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera como separo por grupos e pulo linha?
por exemplo: (anexo)
tenho isso até o momento:
$lista = mysqli_query($con, "SELECT * FROM lista_convidados WHERE cliente = '$cliente' and lado = 'Noiva' order by responsavel asc");
while($dados = mysqli_fetch_assoc($lista)){
$html .= '<tr>';
$html .= '<td>'.$dados["responsavel"].'</td>';
$html .= '<td>'.$dados["convidado"].'</td>';
$html .= '<td>'.$dados["tipo"].'</td>';
$html .= '<td>'.$dados["tel_convidado"].'</td>';
$html .= '</tr>';
}

Tem que ficarr assim: (com essa quebra de linha)
Você pode fazer uma comparação simples.
De forma grossa seria basicamente assim, exemplo:
<?php
while($row_sql = mysqli_fetch_array($sql)){ // Após leitura do BD, faz um while para exibir toda a lista
echo $row_sql['responsavel'].' - '.$row_sql['convidado']; // Imprime o resultado
}
?>
Isso exibiria toda a lista, tenha um ou mais convidados. Agora vi que você quer exibir somente os que tem mais de um convidado deixando o espaço em branco do que tem apenas um, então você pode fazer uma comparação antes da impressão.
*Essa é uma forma grossa do código, você pode adaptar ao seu gosto:*
<?php if($row_sql['qtd_convidados'] > 1) echo $row_sql['responsavel'].' - '.$row_sql['convidado']; // Imprime o resultado com mais de um convidado
else echo '<br />'; // Não imprime nada e pula a linha
}
?>
Espero ter ajudado!>
9 minutos atrás, FelipeFlorindo disse:
<?php while($row_sql = mysqli_fetch_array($sql)){ // Após leitura do BD, faz um while para exibir toda a lista if($row_sql['qtd_convidados'] > 1) echo $row_sql['responsavel'].' - '.$row_sql['convidado']; // Imprime o resultado com mais de um convidado else echo '<br />'; // Não imprime nada e pula a linha } ?>
Então man!
se eu fazer essa condição de > 1 além de eliminar os grupos que contem 1 também fica pulando linha tipo assim:
responsavel | qtd_convidados | convidadoadelino e familia | 2 | fulano
--------------------------- - ----------------------- --- -------------linha puladaadelino e familia | 2 | bertano
--------------------------- - ----------------------- --- -------------linha pulada
o ideal é que fique assim:
responsavel | qtd_convidados | convidado
adelino e familia | 2 | fulano adelino e familia | 2 | bertano
--------------------------- - ----------------------- --- -------------linha pulada
maria e familia | 3 | ciclano
maria e familia | 3 | ciclano2
maria e familia | 3 | ciclano3
--------------------------- - ----------------------- --- -------------linha pulada
.... assim por diante, saka?
Não, o ultimo código que apresentei só pula caso o responsável tenha apenas um convidado.
Agora caso tenha inserido na tabela os responsáveis e convidados de forma desordenada, o nome dos responsáveis não sairão em grupo, então pra corrigir você deve ordenar a tabela durante a conexão.
$sql = "SELECT responsavel, qtd_convidados, convidado FROM tabela ORDER BY responsavel";
Att.nao ta dando certo man!
preciso contar e pular linha:
tenho grupos com aleatorios tipo:
grupo 1 - 5 convidados
grupo 2 - 8 convidados
preciso listar esse convidados e pular linha, ficando assim:
responsavel | qtd_convidados | convidadoadelino e familia | 2 | fulano adelino e familia | 2 | bertano--------------------------- - ----------------------- --- -------------linha puladamaria e familia | 3 | ciclanomaria e familia | 3 | ciclano2maria e familia | 3 | ciclano3--------------------------- - ----------------------- --- -------------linha pulada
tenho no meu bd tabela qtd_convidados que no caso ele conta da seguinte forma:
responsavel | qtd_convidados | convidado
adelino e familia | 2 | fulano
adelino e familia | 2 | bertano
se eu fazer um FOR da certo? pensei da seguinte forma:
$a = 1; $a <= $qtd_convidados; a++
acontece que faz isso:
adelino e familia | 2 | fulano
adelino e familia | 2 | fulano
adelino e familia | 2 | bertano
adelino e familia | 2 | bertano
alguem tem alguma logica?