mldiogo87 2 Denunciar post Postado Julho 13, 2017 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
Fernando C 128 Denunciar post Postado Julho 13, 2017 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
mldiogo87 2 Denunciar post Postado Julho 17, 2017 Obrigado Fernando.... Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Julho 17, 2017 opa.. disponha.. Compartilhar este post Link para o post Compartilhar em outros sites