Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia!
Poderiam me ajudar onde estou errando? Chamo um método que me traz o resultado de um fetch array, porém somente um resultado apenas.
Aqui eu listo os contatos:
<?php
while( $resultados = $contato->listarContato() ){
printf("
<tr>
<td> %s </td>
<td> %s </td>
<td> <a href='alterarContato?id=%s'> <img src='imagens/alterar.png' alt='Alterar'/> </a> </td>
<td> <a href='excluirContato?id=%s' onclick='return excluirContato(this)'> <img src='imagens/excluir.png' alt='Excluir'/> </a> </td>
</tr> "
, $resultados['telefone'], $resultados['nome'], $resultados['id'], $resultados['id']);
}
?>
Este é o método listarContato:
public function listarContato(){
$this->id_usuario = $_SESSION["usuario_id"];
$listarContato = Connection::receberInstancia();
$sql = $listarContato->query( sprintf("SELECT * FROM contato WHERE contato.id_usuario = %s" , $this->id_usuario ));
$lista = $listarContato->resultados($sql);
return $lista;
}
E por último, o método do fetch array:
public function resultados($sql){
return mysql_fetch_array($sql);
}
Isso está me trazendo apenas o primero resultado e repetindo-o. Creio que o erro seja na forma como manipulo o fetch no método listarContato , mas ainda não descobri o que é.
Agradeço a atenção e ajuda de todos.
Então não há forma do método listarContato() ser responsável pela chamada dele?
Obrigado pela resposta.
>
Então não há forma do método listarContato() ser responsável pela chamada dele?
há, sim. Você pode executar o fetch em qualquer lugar, desde que você o coloque dentro do loop
você pode executar o loop nesse método, criar um array e retornar o array criado
Muito obrigado pela luz, Beraldo. Alterei a forma como tratava o loop dentro do método listarContato() e funcionou como eu queria.
Abraço. Tópico resolvido.
funções mysql_fetch_*() devem estar sempre em um loop, pois cada chamada a essas funções move o ponteiro do resultado do select
veja exemplo aqui:
http://www.php.net/mysql_fetch_array