Espartaco Postado Outubro 29, 2009 Denunciar Share Postado Outubro 29, 2009 Olá pessoal,Sou programador ASP e comecei me aventurar no PHP, no entanto estou com uma dúvida que deve ser banal para quem tem mais familiaridade com o script.Quero pegar os dados do banco de dados e caso não haja nenhum, mostrar uma mensagem do tipo "nenhum registro", e caso os tenha, listar com o while.Meu código exibe a mensagem de "nenhum registro" quando eles não existem, aí tudo bemele lista os dados, quando existem, mas o problema que ele só exibe caso existam mais de 1 registro, se tiver um só ele não mostra.O código que estou fazendo é bem mais complexo, mas para fins de ilustração, segue um exemplo grosseiro.<?php$y = mysql_query("SELECT * FROM usuarios"); if(mysql_fetch_array($y) == ""){ echo "nenhum registro"; } else { while($x = mysql_fetch_array($y)){ echo "'$x['nome']'"; } }?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fabianoDeveloper Postado Outubro 29, 2009 Denunciar Share Postado Outubro 29, 2009 Tenta botar a condição WHERE$y = mysql_query("SELECT * FROM usuario WHERE $id = 1"); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Espartaco Postado Outubro 29, 2009 Autor Denunciar Share Postado Outubro 29, 2009 Sim, mas aí eu filtraria os resultados e quero que liste todos os registros da tabela usuarios... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 SK15 Postado Outubro 29, 2009 Denunciar Share Postado Outubro 29, 2009 (editado) Faz a contagem de resultados obtidos com "mysql_num_rows" ... http://php.net/manual/en/function.mysql-num-rows.php<?php $y = mysql_query("SELECT * FROM usuarios"); if(mysql_num_rows($y) == 0){ echo "nenhum registro"; } else { while ($x = mysql_fetch_array($y)) { echo $x["nome"] . "<br>"; } } ?> Editado Outubro 29, 2009 por SK15 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fabianoDeveloper Postado Outubro 29, 2009 Denunciar Share Postado Outubro 29, 2009 Uai cara olha a sua pergunta, você falou que quando faz a consulta e pede pra retornar ele te retorna todosos registro, mais quando tem so 1 ele não te retorna, agora você vem e me fala que quer que ele retorne todos ??!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mauricio Schell Postado Outubro 29, 2009 Denunciar Share Postado Outubro 29, 2009 Acho que consigo ajudar:$sql = mysql_query("select");$total = mysql_num_rows($sql);if ($total > 0) { while ($row = mysql_fetch_array($sql)) { $variavel = $row["campo"]; echo "$variavel"; }} else { echo "Não foi encontrado nenhum registro.";} Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Espartaco
Olá pessoal,
Sou programador ASP e comecei me aventurar no PHP, no entanto estou com uma dúvida que deve ser banal para quem tem mais familiaridade com o script.
Quero pegar os dados do banco de dados e caso não haja nenhum, mostrar uma mensagem do tipo "nenhum registro", e caso os tenha, listar com o while.
Meu código exibe a mensagem de "nenhum registro" quando eles não existem, aí tudo bem
ele lista os dados, quando existem, mas o problema que ele só exibe caso existam mais de 1 registro, se tiver um só ele não mostra.
O código que estou fazendo é bem mais complexo, mas para fins de ilustração, segue um exemplo grosseiro.
<?php
$y = mysql_query("SELECT * FROM usuarios");
if(mysql_fetch_array($y) == ""){
echo "nenhum registro";
} else {
while($x = mysql_fetch_array($y)){
echo "'$x['nome']'";
}
}
?>
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.