Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mcd more core

[Resolvido] Listar Clientes em PHP

Recommended Posts

Pessoal, a muito tempo não venho aqui pedir uma força, mas dessa vez a coisa apertou.

 

Então vamos lá, sem muita conversa hehe :lol:

 

Eu tenho uma loja virtual, cada compra efetivada é salvo no BD os dados do cliente com e-mail e o produto, a minha dúvida é...

Se eu tiver 1 cliente que possui 3 compras com o mesmo e-mail, mesma data de compra, com o mesmo número do pedido como eu posso exibir esse cliente porém não de 1 em 1 listando, e sim que ele verifique que aquele e-mail possui 3 registros com número de pedido igual nos 3, e ele me liste somente 1 registro desse cliente e quando eu clicar no número do pedido ele me mostre todos os produtos daquele pedido.

 

Ex.:

 

E-mail do cliente -> teste@teste.com

Número pedido -> 123

Produto -> carro

-

E-mail do cliente -> teste@teste.com

Número pedido -> 123

Produto -> moto

-

E-mail do cliente -> teste@teste.com

Número pedido -> 123

Produto -> bicicleta

 

 

Gostaria de exibir somente um registro desse cliente relaciondo ao mesmo e-mail e ao mesmo número de pedido.

 

Segue abaixo a minha linha de código atual para exibir os clientes, por favor se alguem puder me ajudar eu agradeço mesmo pela força.

 

MEU CÓDIGO ATUAL

<?php

$cliente_email=$_POST['cliente_email'];
if(isset($cliente_email)){

$sql="SELECT * FROM pedidos1 WHERE cliente_email like'%$cliente_email%' order by id desc";

$rs=mysql_query($sql) or die ("Erro na consulta >>".$sql);     

while($linha=mysql_fetch_array($rs)){

$id=$linha['id'];
 $cliente_nome=$linha['cliente_nome'];
  $razao_social=$linha['razao_social'];
   $cliente_email=$linha['cliente_email'];
    $pedido=$linha['pedido'];
     $data=$linha['data'];	 
      $cor="#E5E5E5";
       $cor2="#ffffff";

    echo"
    <tr bgcolor='$cor2'>
    <td>$pedido</td>
    <td>$cliente_nome</td>
    <td>$cliente_email</td>
    <td>$data</td>
    </tr>";
    }
}
    ?>

 

 

Fico no aguardo pessoal. :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom cara para agrupar basta você utilizar o comando GROUP BY na consulta SQL, ai você manda agrupar por email....ou o que eu acharia mais correto é se a tabela de pedidos gravar o id do cliente agrupar pelo id já q ai nao seria uma string que é o email o q demoraria a execucao

 

Agora o mostrar eu nao entendi direito? você quer q ao clicar abra uma novo pagina com todos os pedidos referentes aquele cliente?

 

Falou

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara normalize seu banco, há redundâncias em seus dados e isso é um perigo para a integridade dos mesmo,

mas mesmo assim pra solucionar seu problema utilize a cláusula "GROUP BY pedido" no final da sua consulta isso irá agrupar seus registros por pedido único. Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como Alex disse, normalize, sua tabela pedidos tem que ter campos relacionados a compra e não a clientes e produtos, use apenas o id do cliente e id do produtos nessa tabela e se precisar utilizar algum dado do cliente ou produto faça-o buscando na tabela específica.

mas vamos lá

 

agrupar por pedido e contar os produtos, adapte

 

SELECT 
  count(`produtos`) as `qtde` 
FROM 
  `pedidos1`  
GROUP BY 
  `campo_numero_pedido`

 

leia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera vou tentar fazer todas as dicas que ambos falaram acima, e postarei o relatório aqui de como consegui solucionar, minha maior preocupação era sómente como unir esses contatos para exibir todos os produtos do mesmo é simples, valeu pessoal e voltare a relatar aqui. :lol:

 

[RESOLVIDO]

 

VALEU PESSOAL PELA FORÇA! :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.