Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 16:35

Bom galera, seguinte, tenho duas tabelas, clientes e pedidos, na tabela pedidos são armazenados os pedidos que um cliente fez, a estrutura dela é a seguinte:

id_comprador | id_produto | id_loja | nome | preco_un | subtotal | qtd | pagarquando | status | sessao | data

em cada linha, fica armazenado os dados acima, para cada produto que o cliente comprar é preenchido em uma linha, agora eu tenho uma pagina que chama "list_pednews" que lista os pedidos novos, que é quando o "status" esta com o valor de "1" que é o padrão, agora qd eu faço um while pra verificar e mostrar os pedidos com status igual a 1 ele me retorna todas as linhas que eu tenho na tabela "pedidos", mais eu gostaria que ele me mostrasse apenas o resultado com a "sessao" diferentes, por exemplo, se eu tiver 10 produtos com a mesma "sessao", ele vai me mostrar apenas 1 vez, etc.....

a estrutura da pagina pra receber os valores é o seguinte:

id_comprador | nome do comprador | data | status

lembrando que dai, o segundo dado "nome do comprador" eu vou pegar da outra tabela, que é a "clientes", com o numero do "id_comprador" eu vou fazer um select na tabela "clientes" e pegar o nome do comprador e jogar nesta pagina... to apanhando nisso, minha cabeça realmente não ta conseguindo pensar em uma maneira simplificada de como fazer isso... vlwww galera obrigado.,..
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 16:43

No caso da listagem de produtos, acho que usando o seguinte

SELECT * FROM suatabela WHERE status='1'

já resolve, agora o restante não entendi
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 16:51

web, desse modo ja ta... olhem o print ae:

http://img378.imageshack.us/my.php?image=imagemkl1.jpg

no print ai, se vc perceberem, isso tudo ai são apenas 3 pedidos, so observarem pela sessão, cada sessão é um pedido...

1º - quem fez a compra foi o cliente "20" ele comprou 1 filme.
2º - quem fez a compra foi o cliente "21" ele comprou 1 filme.
3º - quem fez a compra foi novamente o cliente "20", ele comprou 2 filmes dessa vez.

todos estão com o status de "1" o que significa que o pedido é "novo" e ainda nao foi processado.

eu quero fazer um while, pra ele me mostrar apenas o nome dos clientes que fizeram um pedido, no caso vai ser
Nome: 20
Nome: 21
Nome: 20

mais não to conseguindo, o jeito q estou fazendo, ele me retorna todas essas linhas na pagina, ai fica como se cada produto é de um pedido diferente, seria algo do tipo assim, escrevendo no bom portugues:

mysql_query("SELECT * FROM pedidos WHERE sessao é diferente");
ou
seleciona tudo da tabela pedidos onde as sessões são diferentes uma das outras

OBS: axo q ainda nao entenderam, mais ta ficando mais claro.... se alguem puder me ajudar ou tiver duvidas so postar, vlwww
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 17:15

Então seria o DISTINCT

Só que na sua figura tem 4 itens

Tenta

SELECT DISTINCT(essecampo) FROM minhatabela

MOVIDO: de PHP para MYSQL
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 17:19

eita web, agora sim, tamo conseguindo, mais teria um modo de mim selecionar tudo e usar o distinct? pq tpw, preciso pegar o nome do produto, etc...

..query("SELECT * FROM pedidos DISTINCT(sessao)");
??
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 17:23

O mesmo problema resolvido abaixo, vê se é isso

http://www.codigosnaweb.com/forum/DISTI ... _2152.html
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 17:33

web vlw pela dica, mais nao consegui, fiz dessa forma:

$sql_captura = mysql_query("SELECT id_comprador,sessao, GROUP_CONCAT(DISTINCT sessao ORDER BY sessao) FROM pedidos GROUP BY sessao WHERE status = '1'");

erro retornado foi:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\projetos\locsist\administracao\list_pednews.php on line 10
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 17:37

Parece que você inverteu o WHERE

Tenta

SELECT id_comprador,sessao, GROUP_CONCAT(DISTINCT sessao ORDER BY sessao) FROM pedidos WHERE status = '1' GROUP BY sessao
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 17:42

eita web, ficando tudo perfeito, agora em outra pagina, eu preciso mostrar todo o resultado que tem a mesma sessão, como devo proceder para isso? vlww brigadao web...
0
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 17:50

malzz web, nem precisa, é só eu passar a sessão por GET.... brigadao... resolvio este.... brigadao msm...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 17:59

flw :mrgreen
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 18:33

web, uma outra duvida, tava analisando aqui, se um cliente fazer 2 compras com a mesma sessão, o outro modo de separar seria usando o campo data que esta no formato "datetime" correto? ai como eu faço baseado no codigo acima, pra separar os pedidos com a mesma sessão mais com a data diferente? da pra usar o campo data no "distinct"? vlwww...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 18:39

Então seria um select para mostrar cada session / usuário, e quantos produtos / linhas cada session tem?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 19:33

a estrutura é essa?

id_comprador id_produto id_loja nome preco_un subtotal qtd pagarquando status sessao data

agora, pra cada produto é uma linha como esta:

20 | 2 | 1 | Efeito Dominó | 3.50 | 3.50 | 1 | PD | 1 | 7jcdr8o8o4uurbl58usc51fbe5 | 2008-10-14 01:31:32
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 19:47

E o que deve ser retornado?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 19:55

deve ser retornado os valores com a mesma sessão e a mesma hora no formato:

estrutura da pagina:

cada pedido será visualizado assim:

id do comprador | nome do comprador | data

caso sejam a mesma sessão e a mesmo hora, vai aparecer em uma unica vez como estou fzd com o DISTINCT, agora caso tenha a mesma sessão mais com horario diferente, vai aparecer dois valores. Exemplo:

Resumo: se eu for um cliente, vou na loja virtual e faço uma compra, blz minha sessão e minha hora estao gravados no DB, agora se eu usar a mesma janela do navegador e fizer outra compra, vai aparecer a mesma sessão mais com horarios diferentes, deu pra entender? axo q to complicando um pouco pq não consegui dar uma numeração a cada pedido feito, por isso ta ficando assim....
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 20:22

Fiz uns testes aqui usando o GROUP BY, veja ai

SELECT campo1 FROM minhatabela GROUP BY campo1, campo2

Ou seja, ele vai pegar todos os campos distinto do campo1, sendo que vai agrupar pelo campo1 e campo2, testa ai e posta o resultado.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 20:32

mais eu precisaria de pegar todos os dados dessa tabela, tpw SELECT *... vou trabalhar com todos eles.... vlwww
0
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 20:38

tpw web, me explica uma coisa é minha primeira loja virtual por isso to apanhando desse jeito pq nao conheco o codigo de outras mais....

qd vc cria um carrinho de compra, durante a compra tem uma tabela que se chama por exemplo "cesta" que é onde os itens do carrinho do cliente vai correto? depois qd ele finaliza a compra vc envia o pedido pra outra tabela que vamos chamar ela de "pedidos" crt? ai o administrador da loja clica la no painel de controle dele em "visualizar pedidos novos" dai vai mostrar o nome do cliente e a data por exemplo fora os items que o cliente escolheu que dai qd o admin clicar no nome do cliente mostra o resto dos detalhes, ate ai ta correto? talvez eu te explicando do começo vc entenda melhor ou até mesmo me diz o q mudar pra ficar mais eficaz... vlwww
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 20:50

Complicado, porque nunca montei uma loja, acho que a sua lógica não está ruím, o lance é você ir adaptando ou buscar algo sobre, porque realmente não tentei ainda.

Quanto ao select vai ser mais ou menos assim

SELECT campo1, campo2, GROUP_CONCAT(DISTINCT campo1 ORDER BY campo1) FROM suatabela GROUP BY campo1, campo2
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 21:03

crto, amanha ja vou testar e lhe digo a resposta ake... mais ainda nao encontrei um jeito legal de colocar um numero para o pedido, tpw, pensei em colocar a data ou a hora do pedido, tpw = 210654 -> 21:06:54hrs. mais ainda axo q deve ter um jeito mais ético para isso.... brigado web, amanha cedo ja posto o resultado...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas ao mostrar tabela com pedidos

16-10-2008 21:29

Eu acho melhor fazer uma mescla entre data e hora

// dia mês ano hora minuto segundo
$data = date("dmYhis");
echo $data;
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

17-10-2008 09:59

web entendi mais ou menos, teria como fazer um select pedindo pra mostrar apenas os resultados onde as sessoes são iguais e as datas são diferentes coisa desse tipo na query mesmo do select? vlww..
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas ao mostrar tabela com pedidos

17-10-2008 10:04

Testou a query que passei

SELECT campo1, campo2, GROUP_CONCAT(DISTINCT campo1 ORDER BY campo1) FROM suatabela GROUP BY campo1, campo2

Eu testei aqui e o resultado parece o que procura
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 90
Sexo: Masculino
Localização: MG/Uberaba/Brasil
Contato:

Problemas ao mostrar tabela com pedidos

17-10-2008 10:17

sim web, deu crt, ai eu tive que fazer o seguinte:

<td width="3%"><a href="ver_orders.php?acao=ver&order=<?php echo $reg_captura['sessao']; ?>&id=<?php echo $reg_captura['id_comprador']; ?>&dt=<?php echo $reg_captura['data']; ?>"> <img src="images/page_add.png" alt="Ver" title="Ver" border="0" /></a> </td>

veja ai, eu passei a sessão e a data pelo GET, dai na pagina "ver_pedidos" esta a consulta desse modo:

$id_cliente = $_GET['id']; $data_compra = $_GET['dt']; $sql_consulta = mysql_query("SELECT * FROM pedidos WHERE sessao = '$sessao_pedido' AND data = '$data_compra' ");

so que ele exibe na tela todos os pedidos com a mesma sessão, ele nao esta refinando a consulta pela data... vlwwww axo q agora so falta isso...
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado