Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Problemas MySQL


Alexandre Camargo

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...