Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Problemas MySQL


Alexandre Camargo

Pergunta

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!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

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>";
   }
    ?>

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...