Jump to content
PeeWee

While duplicando resultado

Recommended Posts

Opaa, o problema é o seguinte: preciso fazer uma busca no BD com esse código:

 

$buscar = $pdo->prepare("SELECT * FROM `produtos` WHERE `titulo` LIKE '%$textoBusca%'");
        $buscar->execute();

        $retorno = array();
        $retorno['dados'] = '';
        $retorno['qtd'] = $buscar->rowCount();
        if($retorno['qtd'] >= 0){
            while($conteudo = $buscar->fetchObject()){
                $retorno['dados'] .= '<a href="#" id="'.$conteudo->id.':'.$conteudo->valor.'">'.utf8_encode($conteudo->titulo).'</a>';
            }
        }

 

O problema é que os resultados estão vindo duplicados (no BD só há 3 registros)

 

Não tenho idéia do que fazer, se alguem puder ajudar agradeço desde já. 

 

Share this post


Link to post
Share on other sites

Tenta assim:

$buscar = $pdo->prepare("SELECT * FROM produtos WHERE titulo LIKE '%{$textoBusca}%'");
$buscar->execute();
$resultado = $buscar->fetchAll(PDO::FETCH_OBJ);
if ($buscar->rowCount()) {
    foreach ($resultado as $value) {
        echo $value->id;
    }
}

 

Share this post


Link to post
Share on other sites

parece que funcionou, mas terei que fazer pequenas alterações, o que eu queria entender é porque o meu código não funcionou sendo que eu copiei e colei de outro trecho do mesmo código que no caso está funcionando normalmente.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By stefanyprs
      //modelo.html <!DOCTYPE html> <html lang="pt-br"> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Hora do dia</title>     <link rel="stylesheet" href="estilo.css"> </head> <body onload="carregar()">     <header>         <h1> Hora do dia </h1>         </h1>     </header>     <section>         <div id="msg">             msg         </div>         <div id="foto">             <img class="imagem" src="fotomanha.jpg" alt="foto do dia">         </div>     </section>     <footer>         <p>&copy; Rodapé </p>     </footer>     <script src="script.js"></script> </body> </html>   //script.js function carregar () {     var msg = window.document.getElementById('msg')     var img  = window.document.getElementsByClassName('imagem')      var data = new Date()     var hora = data.getHours()          msg.innerHTML = 'Agora são ' + hora + ' horas'          if (hora >= 0 && hora < 12){         //Bom dia         img.src = 'fotomanha.jpg'         } else if (hora >= 12 && hora < 18){         //Boa tarde         img.src = 'fototarde.jpg'      } else {         //Boa noite         img.src = 'fotonoite.jpg'     } }   //estilo.css body{     background-color: aqua;     font: normal 15pt Arial; } header{     color:rgb(255, 255, 255);     text-align: center; } section{     background: white;     border-radius: 10px;     padding: 15px;     width: 500px;     margin:auto;     box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.329);      } footer{     color:white;     text-align: center;     font-style: italic;   } div{     text-align: center; } .imagem{     width: 500px;    /* largura da imagem */     height: 350px;   /*  altura da imagem  */     margin-top: 10px; /* margem do topo */ }
    • By Kefatif
      Prezados, boa tarde.
       
      Preciso de uma ajuda, tenho um select onde o usuário vai poder selecionar dentre os valores "1" e "2", mas gostaria que quando ele selecionasse o valor 2 fosse enviado um alerta de confirmação, estou tentando fazer através do evento blur, mas não estou sabendo fazer a comparação. Seria possível chamar o evento apenas se o valor selecionado for 2?
       
      Segue meu código teste abaixo.
       
      <!DOCTYPE html> <html> <head> <title>Teste</title> <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.min.js"></script> <script type="text/javascript"> $(function(){ //inserir os códigos aqui $("#fase").blur(function(){ alert("O input perdeu o foco."); }); }); </script> </head> <body> <label style="width:15%">Fase<b style="color:red">*</b><br> <select name="fase" id="fase" class="form-control" required style="width:100%" > <option value="1">1</option> <option value="2">2</option> </select> </label> <label style="width:15%">teste<b style="color:red">*</b><br> <select name="teste" class="form-control" required style="width:100%" > <option value="">Selecione</option> <option value="SIM">SIM</option> <option value="NÃO">NÃO</option> </select> </label> </body> </html>  
      Agradeço desde já.
       
      Abs.
    • By iguulima
      Bom dia a todos, tenho em meu banco de dados uma tabela de pedidos, onde nesse pedidos estão salvos as id's dos produtos que foram selecionados pelo usuário, gostaria de saber se tem alguma forma utilizando um while que possa selecionar os produtos mais pedidos dessa tabela, não tenho ideia por onde começar. Consigo listar todos apenas mas não sei como selecionar os que são mais pedidos.
    • By biakelly
      Olá Tudo bem?
       
      Poderiam me ajudar com a seguinte condição:
      <?php if ($row['facebook'] != "") { echo '<a class="btn btn-dark btn-social mx-2" href="<?php echo $row['facebook']; ?>"><i class="fab fa-facebook-f"></i></a>'; } else { echo ''; } ?>  
      Estou recebendo o seguinte erro:
      Parse error: syntax error, unexpected 'facebook' (T_STRING), expecting ';' or ',' in C:\xampp\htdocs\biazinha\inicial.php on line 371
       
       
      A linha 371 é essa:
      echo '<a class="btn btn-dark btn-social mx-2" href="<?php echo $row['facebook']; ?>"><i class="fab fa-facebook-f"></i></a>';  
       
       
    • By PToledo
      Tenho um IF, ElseIf, Else....
       
      Como contar somando, cada vezes que o IF, ElseIF ou Else for verdadeiro.
       
      Preciso contar a quantidade de vezes que o IF for setado, verdadeiro.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.