Alexandre Camargo Postado Fevereiro 2, 2012 Denunciar Share Postado Fevereiro 2, 2012 Olá, estou tendo um problema chato com o mysql!eu digito uma palavra, e ela precisa achar o correspondente no mysql, ele acha mas só que não lista tudo q ele acha no mysql!o codigo php é assim!<?php include("conectamysql.php"); $tabela = $_POST['valor']; $consulta = mysql_query("SELECT * FROM produto WHERE categoria LIKE '$tabela%' ") or die(mysql_error()); if(!$dados=mysql_fetch_array($consulta)) { print"Não Há Registros!!"; } else { print"<table width='850'>"; print" <tr> <td style='background:#d3dce3;' align='center'><b>Cód. Estab.</b></td> <td style='background:#d3dce3;' align='center'><b>Nº de Fábrica</b></td> <td style='background:#d3dce3;' align='center'><b>Descrição</b></td> <td style='background:#d3dce3;' align='center'><b>Categoria</b></td> <td style='background:#d3dce3;' align='center'><b>Preço de Custo</b></td> <td style='background:#d3dce3;' align='center'><b>P. de Lucro (%)</b></td> <td style='background:#d3dce3;' align='center'><b>Preço de Venda</b></td> <td style='background:#d3dce3;' align='center'><b>Estoque</b></td> </tr> "; while($dados = mysql_fetch_array($consulta)) { print" <tr> <td style='background:#e5e5e5; font-size: 13px;' align='center'>".$dados['codigo']."</td> <td style='background:#d5d5d5; font-size: 13px;' align='center'>".$dados['numero_fabrica']."</td> <td style='background:#e5e5e5; font-size: 13px;' align='center'>".$dados['descricao']."</td> <td style='background:#d5d5d5; font-size: 13px;' align='center'>".$dados['categoria']."</td> <td style='background:#e5e5e5; font-size: 13px;' align='center'>".$dados['preco_custo']."</td> <td style='background:#d5d5d5; font-size: 13px;' align='center'>".$dados['porcentagem']."</td> <td style='background:#e5e5e5; font-size: 13px;' align='center'>".$dados['preco_final']."</td> <td style='background:#d5d5d5; font-size: 13px;' align='center'>".$dados['estoque']."</td> </tr> "; } print"</table>"; } ?>Exemplo: eu sei que na tabela do mysql existem dois produtos com a categoria oleo, mas quando eu digito para procurar o produto, ele só mostra um produto em vez de mostrar os dois!Preciso urgente de ajuda!MUITO OBRIGADO! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dedas Postado Fevereiro 2, 2012 Denunciar Share Postado Fevereiro 2, 2012 Troque esta linha:$consulta = mysql_query("SELECT * FROM produto WHERE categoria LIKE '$tabela%' ") or die(mysql_error()); por essa: $consulta = mysql_query("SELECT * FROM produto WHERE categoria LIKE '%".$tabela."%' ") or die(mysql_error()); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alexandre Camargo Postado Fevereiro 2, 2012 Autor Denunciar Share Postado Fevereiro 2, 2012 Ainda continua com o mesmo problema :( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mJi Postado Fevereiro 3, 2012 Denunciar Share Postado Fevereiro 3, 2012 Quando você checa se há resultados naquele if(), você já dá um fetch no primeiro resultado retornado e acaba perdendo este resultado. Verifique a quantidade de dados retornados com mysql_num_rows(), ou quem sabe um SELECT COUNT.Algo assim:<?php include("conectamysql.php"); $tabela = $_POST['valor']; $consulta = mysql_query("SELECT * FROM produto WHERE categoria LIKE '$tabela%' ") or die(mysql_error()); if(!mysql_num_rows($consulta)){ print"Não Há Registros!!"; }else{ print"<table width='850'>"; print" <tr> <td style='background:#d3dce3;' align='center'><b>Cód. Estab.</b></td> <td style='background:#d3dce3;' align='center'><b>Nº de Fábrica</b></td> <td style='background:#d3dce3;' align='center'><b>Descrição</b></td> <td style='background:#d3dce3;' align='center'><b>Categoria</b></td> <td style='background:#d3dce3;' align='center'><b>Preço de Custo</b></td> <td style='background:#d3dce3;' align='center'><b>P. de Lucro (%)</b></td> <td style='background:#d3dce3;' align='center'><b>Preço de Venda</b></td> <td style='background:#d3dce3;' align='center'><b>Estoque</b></td> </tr> "; while($dados = mysql_fetch_array($consulta)){ print" <tr> <td style='background:#e5e5e5; font-size: 13px;' align='center'>".$dados['codigo']."</td> <td style='background:#d5d5d5; font-size: 13px;' align='center'>".$dados['numero_fabrica']."</td> <td style='background:#e5e5e5; font-size: 13px;' align='center'>".$dados['descricao']."</td> <td style='background:#d5d5d5; font-size: 13px;' align='center'>".$dados['categoria']."</td> <td style='background:#e5e5e5; font-size: 13px;' align='center'>".$dados['preco_custo']."</td> <td style='background:#d5d5d5; font-size: 13px;' align='center'>".$dados['porcentagem']."</td> <td style='background:#e5e5e5; font-size: 13px;' align='center'>".$dados['preco_final']."</td> <td style='background:#d5d5d5; font-size: 13px;' align='center'>".$dados['estoque']."</td> </tr> "; } print"</table>"; } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alexandre Camargo Postado Fevereiro 3, 2012 Autor Denunciar Share Postado Fevereiro 3, 2012 Muitooo Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Alexandre Camargo
Olá, estou tendo um problema chato com o mysql!
eu digito uma palavra, e ela precisa achar o correspondente no mysql, ele acha mas só que não lista tudo q ele acha no mysql!
o codigo php é assim!
Exemplo: eu sei que na tabela do mysql existem dois produtos com a categoria oleo, mas quando eu digito para procurar o produto, ele só mostra um produto em vez de mostrar os dois!
Preciso urgente de ajuda!
MUITO OBRIGADO!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.