Listar com tabelas relacionais [Duvida]
27/04/2017
0
Tenho duas tabelas 'loja' e 'cliente', cada cliente pertence a uma loja, queria listar o nome das lojas da tabela 'loja' e a quantidade de clientes de cada loja.
Alguém pode me ajudar ?
Tentei desta forma, mas lista a mesma loja mais de uma vez e 1 registo para cada linha.
<?php $sql = "SELECT * FROM c_loja INNER JOIN c_user ON c_user.user_loja = c_loja.loja_id WHERE loja_id = user_loja"; $result = $PDO->query($sql); //$rows2 = $result->fetch(); $count=0; while($rows = $result->fetch(PDO::FETCH_OBJ)){ $count = count($rows); echo " <tr> <td>".$rows->loja_nome."</td> <td>".$count."</td> </tr> "; } ?>
Mauricio Mikulski
Posts
27/04/2017
Marcio Souza
SELECT l.nome_loja, count(c.id_cliente) FROM loja l, cliente c WHERE l.id_loja = c.id_loja_fk GROUP BY l.id_loja;
27/04/2017
Mauricio Mikulski
SELECT l.nome_loja, count(c.id_cliente) FROM loja l, cliente c WHERE l.id_loja = c.id_loja_fk GROUP BY l.id_loja;
Não deu ainda...
Olha como fucou...
<?php $sql = "SELECT *,count(user_id) FROM c_loja,c_user WHERE user_loja=loja_id GROUP BY loja_id"; $result = $PDO->query($sql); //$rows2 = $result->fetch(); $count=0; while($rows = $result->fetch(PDO::FETCH_OBJ)){ $count = count($rows->user_id); echo " <tr> <td>".$rows->loja_nome."</td> <td>".$count."</td> </tr> "; } ?>
Está imprimindo desta forma:
Loja1 1
Loja 2 1
Sendo que, eu tenho 3 lojas cadastradas e na loja1 tem 2 clientes.
27/04/2017
Luiz Santos
$sql = "SELECT loja_id, count(user_id) AS qtd FROM c_loja,c_user WHERE user_loja=loja_id GROUP BY loja_id";
Veja se funciona.
Grande abraço
Clique aqui para fazer login e interagir na Comunidade :)