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


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Um ID mostra errado, em outro ID está normal - PODE ISSO? rs

19-03-2014 12:06

Boa tarde galera!

Me peguei numa situação no mínimo curiosa.

Tenho um sistema, de logs, onde mostra tudo o que aconteceu no sistema, tipo um extrato por cada cliente, onde cada cliente é um ID.

Ele faz a listagem e mostra por data quantos históricos o cliente teve

Veja um exemplo: http://prntscr.com/327jt3

Funciona tudo perfeito, está atendendo todas as necessidades.

Mas tem um cliente, com o ID 430 (era 445, mudei na mão para ver se resolvia) e outro cliente o 446 que repete 4 vezes o mesmo resultado, sendo que no BD em Mysql tem 1 apenas.

Veja um exemplo: http://prntscr.com/327kbq

é a mesma hora e data, pensei que poderia estar gravando 4x no bd mas não está.

Se eu apenas mudar la na barra de endereços o id que está assim: ...?id_loja=430 para ...?id_loja=1 ele exibe apenas uma vez o que está no BD sendo correto.

Estou postando pq nunca vi isso... mesmo código php, mesmo arquivo, mesmo bd, resultado diferente.

Imagino que se fosse algo errado no codigo, ele ia mostrar o resultado 4x para todos os ID´s certo? rs

Se alguem tiver uma luz agradeço

Abraços

MOVIDO PARA MYSQL
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Um ID mostra errado, em outro ID está normal - PODE ISSO? rs

19-03-2014 13:35

Como está a query e a exibição dos resultados no código?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Um ID mostra errado, em outro ID está normal - PODE ISSO? rs

20-03-2014 13:41

Será que é isso que quer?

 <?  $sql_logs = mysql_query("SELECT * FROM logs where id_loja='".$rows["id_loja"]."' order by id desc"); while($logs = mysql_fetch_array($sql_logs)) {              $sql_usuario = mysql_query("SELECT * FROM usuarios where loja_id='".$rows["id_loja"]."'"); while($usuario = mysql_fetch_array($sql_usuario)) { ?>      <tr>     <td colspan="5" align="center" valign="top" class="texto-preto-16"><hr /></td>   </tr>   <tr bgcolor="#F5F5F5">     <td width="33%" colspan="3" bgcolor="#FFFFFF" class="texto-preto-12"><strong>Data: <? echo date('d/m/Y', strtotime($logs['hora'])); ?></strong></td>   </tr>   <tr bgcolor="#F5F5F5">     <td colspan="3" bgcolor="#FFFFFF" class="texto-preto-12"><strong>Hora: <? echo date('H:i:s', strtotime($logs['hora'])); ?></strong></td>   </tr>   <tr bgcolor="#F5F5F5">     <td colspan="3" bgcolor="#FFFFFF" class="texto-preto-12"><strong>Vendedor: <? echo $usuario['nome'] . "<br />"; ?></strong></td>   </tr>   <tr bgcolor="#F5F5F5">      <td colspan="3" bgcolor="#999999" class="texto-branco-12"><strong>Mensagem: <? echo $logs['mensagem'] . "<br />"; ?></strong></td>   </tr>     <tr>        <td colspan="3" align="justify" valign="top" class="texto-preto-12">Pontos da operação: <strong><? echo $logs['pontos'] . "<br />"; ?></strong></td>     </tr>     <tr>       <td colspan="3" align="justify" valign="top" class="texto-preto-12">Entregue: <strong><? echo $logs['entregue'] . "<br />"; ?></strong></td>     </tr>     <tr>       <td colspan="3" align="justify" valign="top" class="texto-preto-12">Saldo antes desta operação:<strong><? echo $logs['sao'] . "<br />"; ?></strong></td>     </tr>     <tr>       <td colspan="3" align="justify" valign="top" class="texto-preto-12"><strong>Saldo nesta data: <? echo $logs['sao'] + $logs['pontos'] . "<br />"; ?></strong></td>     </tr>     <tr>       <td colspan="3" align="justify" valign="top" class="texto-preto-12"><hr /></td>     </tr> <td width="67%"></td> </tr>     <?}?>  <?}?>              <tr>       <td colspan="5" align="justify" valign="top" class="texto-laranja-22">Saldo atual: <strong>         <?           $query = mysql_query("select SUM(pontos) as soma FROM logs where id_loja='$id_loja'")or die(mysql_error()); $cont = mysql_fetch_array($query); $total = $cont["soma"]; echo $total;       ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Um ID mostra errado, em outro ID está normal - PODE ISSO? rs

20-03-2014 14:03

Você abriu uma consulta " mysql_query ", dentro de outra.

A primeira consulta, vai listar os dados, e dentro de cada resultado listado, vai fazer mais uma consulta. É isso que provavelmente está repetindo os resultados.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Um ID mostra errado, em outro ID está normal - PODE ISSO? rs

20-03-2014 14:04

Mas porque repete em dois ID´s apenas?

Entendeu essa parte que comentei?
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Um ID mostra errado, em outro ID está normal - PODE ISSO? rs

20-03-2014 14:11

Acabei de reparar uma coisa... fiz essa consulta dentro de outra pois preciso de dados de duas tabelas e linkadas.

Tem um vendedor em uma loja X, o vendedor é uma tabela e a loja outra... os logs são em outra ainda rs.

Dai se tem 4 vendedores em uma loja... ele mostra o mesmo log mudando os nomes dos vendedores... acho que tem a ver isso que vc falou viu!

Alguma ideia pra resolver?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Um ID mostra errado, em outro ID está normal - PODE ISSO? rs

20-03-2014 14:12

A princípio, é considerado a consulta a tabela logs, eu suponho que deva haver mais de um id_loja, se sim, isso já vai repetir. Ai a segunda consulta, como é baseada na primeira, vai gerar 2 ou mais linhas.

Talvez listar a tabela que tenha um item de cada, e os logs referente a ela na consulta seria melhor.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Um ID mostra errado, em outro ID está normal - PODE ISSO? rs

20-03-2014 14:13

Ele esta gerando 1 consulta para cada vendedor... que tiver nessa loja... usa o mesmo log 1 para cada vendedor... sendo que 1 só vendedor fez o log, entendeu? rs
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Um ID mostra errado, em outro ID está normal - PODE ISSO? rs

20-03-2014 14:16

Opa! Obrigado por abrir meus olhos rs!

Tirei o While do "usuarios" Veja como ficou;

<?  $sql_logs = mysql_query("SELECT * FROM logs where id_loja='".$rows["id_loja"]."' order by id desc"); while($logs = mysql_fetch_array($sql_logs)) {              $sql_usuario = mysql_query("SELECT * FROM usuarios where loja_id='".$rows["id_loja"]."'"); $usuario = mysql_fetch_array($sql_usuario); ?>

0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Um ID mostra errado, em outro ID está normal - PODE ISSO? rs

20-03-2014 14:19

O While fazia com que ele listasse todos os usuários dentro dessa loja com o mesmo log.

No BD tinha 1 só log gravado para loja tal... dai ele pegava 4 ou 5 usuarios que tinha na loja tal e listava o mesmo logo mudando apenas o nome do usuario!

Muito obrigado mais uma vez, só o alerta já resolveu o problema hehe!

Abraços
1

Quem está online

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