Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho um cadastro de pessoas onde cada pessoa pode ter vários telefones, faço o cadastro da pessoa com seus respectivos telefones. Quero mostrar para cada pessoa uma lista com seus telefones, porém só consigo listar repetindo o usuário para cada telefone que ele possui.
Por exemplo: o usuário fulano tem dois telefones: 12345 e 54321
na hora de listar, da forma como fiz, aparece:
Nome | Telefones
fulano | 12345
fulano | 54321
Só que eu quero listar assim:
Nome | Telefones
fulano | 12345
54321
sem ter que repetir o nome.
Não estou sabendo como fazer, se alguém puder me ajudar ficarei muito grato!
CREATE TABLE IF NOT EXISTS `pessoa` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`nome` varchar(50) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
`cpf` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=24;
CREATE TABLE IF NOT EXISTS `telefone` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`numero` varchar(14) DEFAULT NULL,
`id_pessoa` int(11) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `telefone_pessoa` (`id_pessoa`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;
$statement = $pdo->prepare("SELECT telefone.numero, pessoa.* FROM telefone RIGHT JOIN pessoa ON (pessoa.id = telefone.id_pessoa);");
$statement->execute();
$usuarios = $statement->fetchAll(PDO::FETCH_OBJ);
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Nome</th>
<th>Telefone</th>
</tr>
</thead>
<tbody>
<?php foreach ($usuarios as $usuario): ?>
<tr>
<td><?php echo $usuario->nome; ?></td>
<td><?php echo $usuario->numero; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>Carregando comentários...