Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mldiogo87

[Resolvido] Problemas ao realizar consulta no banco de dados - PDO

Recommended Posts

Boa tarde,

 

Estou fazendo um código simples para consulta em banco de dados, por PDO.

 

Ocorre que embora a consulta retorne 7 resultados, quando o PHP vai colar os dados, apenas o faz com 1, ignorando o restante.

 

Confirmo isso porque se eu colar a variável $dados->rowCount() ela retorna "7".

 

Grato

 

<?php

	$conex = new PDO('mysql:host=localhost;dbname=usuarios', 'root', '');
	
	if (empty($_GET['filtro'])) {   $filtro = "%"; } else { $filtro = $_GET['filtro']; };
	

	
	if ( $nivel == "1" ) {
	
	$dados = $conex->prepare('SELECT f.id AS idfoto, f.caminho, f.lugar, f.usuario AS usuarioid, f.legenda, f.ranking, f.tag, l.nome AS nomelugar, u.nome AS nomeusuario FROM fotos AS f INNER JOIN lugar AS l ON f.lugar = l.id INNER JOIN usuarios AS u ON f.usuario = u.id WHERE l.nome LIKE :filtro ORDER BY u.nome ASC Limit 20');
    $dados->bindValue(':filtro', '%'.$filtro.'%');
    $dados->execute();
   
	
	
}  else {

	$dados = $conex->prepare('SELECT f.id AS idfoto, f.caminho, f.lugar, f.usuario AS usuarioid, f.legenda, f.ranking, f.tag, l.nome AS nomelugar, u.nome AS nomeusuario FROM fotos AS f INNER JOIN lugar AS l ON f.lugar = l.id INNER JOIN usuarios AS u ON f.usuario = u.id WHERE l.nome LIKE :filtro AND f.usuario = :usuario ORDER BY l.nome ASC Limit 20');
    $dados->bindValue(':filtro', '%'.$filtro.'%');
	$dados->bindValue(':usuario', ''.$userid.'');
    $dados->execute();

}



	 if ($dados->rowCount() > 0) {
	 
      $linha = $dados->fetch(PDO::FETCH_OBJ);
     
	 
	  echo '<tr>';
      echo '<td><a href="cadastro.php?id='.$linha->idfoto.'"><img src="../../fotos/'.$linha->caminho.'"/></a></td>';
      echo '   <td>'.$linha->nomelugar.'</td>';
      echo '   <td>'.$linha->nomeusuario.'</td>';
      echo '   <td>'.$linha->legenda.'</td>';
	  echo '	 <td>'.$linha->ranking.'</td>';
	  
	  echo '   <td>'.$linha->tag.'</td>';
	  
	 	
      echo '</tr>';  

	}
	  ?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

se entendi bem, tente o seguinte:

insira um "while" para recuperar todos os registros da tabela; assim, essa linha:

 $linha = $dados->fetch(PDO::FETCH_OBJ);

troque por essa:

while ($linha = $dados->fetch(PDO::FETCH_OBJ)){

e depois de exibir (linhas com "echo") lembre-se de fechar a chave.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.