Jump to content


Photo

Exibir Vários Resultados Busca Php


  • Faça o login para participar
10 replies to this topic

#1 Beraldinho

Beraldinho

    12 Horas

  • Usuários
  • 186 posts
  • Sexo:Masculino
  • Interesses:Amizade

Posted 06/10/2009, 17:02

Paz amado(a).

Tenho um campo chamado estado, cada usuário se cadastrar conforme seu estado no momento do cadastro, escolhendo a sigla correta. Possuo um script que exibe os dados exatos sem ser aproximado, só que eu queria mostrar vários resultados, mas com dados exato, vai ter várias pessoas por exemplo do estado de SP, então deve apresentar somente pessoas cadastradas no estado de SP (vários). Vou postar aqui o script que estou usando, se alguém puder me ajudar nessa adaptação ficarei muito agradecido.

<?php
$host = "localhost";
$user = "USUÁRIO";
$senha = "SENHA";
$dbname = "BANDO DE DADOS";
mysql_connect($host, $user, $senha) or die("Não foi possível conectar-se com
o banco de dados  <strong>ERRO: 199300</strong>");
mysql_select_db($dbname)or die("Não foi possível conectar-se com o banco de
dados <strong>ERRO: 199301</strong>");

$busca = $_GET['busca'];
$seleciona = mysql_query("SELECT * FROM dados where estado='$busca' order by
'desc'") or die(mysql_error());
while ($dados = mysql_fetch_array($seleciona)){
$nome = $dados["nome"];
$id = $dados["id"];
$estado = $dados["estado"];
}

$result = mysql_num_rows($seleciona);
if ($result == 0){
	echo '<small style="font-weight: bold; color: rgb(255, 0, 0);"><span
 style="font-family: Verdana;">Aluno n&atilde;o
matriculado!</span></small>
';
} 
else{
echo "Você selecionou o estado ".$estado."<br><a href='editardados.php?id=".$id."'><span style='color: rgb(255, 0, 0);'>Alterar/Cadastrar notas</span></a><BR>
<span style='font-weight: bold;'>Nome: </span>".$nome."<br
 style='font-weight: bold;'>
<span style='font-weight: bold;'>Número da matr&iacute;cula: </span>".$id
;
}
?>

Retirei os dados de acesso ao banco de dados.

Ficarei muito agradecido com sua ajuda! Fique na paz de Jesus!!!
"Guerreiro que está na frente lutando e nunca volta pra trás, o pode, a unção, a majestade seja dada totalmente para Jesus Cristo, porque ele é o Rei do Exércitos, e eu pertenço a esse exército, sou Guerreiro de Jesus, que luta contra o inimigo e nunca abaixa a cabeça, pode vim os problemas que sempre vou vencer. Te amo Jesus!" Venha você também conhecer Jesus Cristo, Ele morreu por você na cruz.

#2 Guilherme Venerato

Guilherme Venerato

    Normal

  • Usuários
  • 68 posts
  • Sexo:Masculino
  • Localidade:Presidente Prudente

Posted 07/10/2009, 10:30

Não entendi muito bem o que você queria.
Os dados não estão aparecendo?

tente:
"SELECT * FROM dados where estado='$busca' order by nome desc";
Guilherme Venerato - Soluções para Web
http://www.guilhermevenerato.com

#3 danimark

danimark

    Turista

  • Usuários
  • 30 posts
  • Sexo:Masculino

Posted 07/10/2009, 10:49

Amigo ta meio dificil de entender o que voce quer olhando seu cod. não encontrei nada de errado!
Explique melhor!

#4 MBA

MBA

    24 Horas

  • Usuários
  • 412 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte
  • Interesses:Desenvolvimento WEB

Posted 07/10/2009, 10:57

Acho que não entendi nada mas de toda forma, o seu while está sobrescrevendo as variáveis.
Isto está certo?

Tente explicar melhor o que quer...

Evite também posts com códigos inteiros...
Poste apenas a parte que interessa ao seu problema..

Abraços
Mateus
Mateus Antunes
MBASistemas

#5 Beraldinho

Beraldinho

    12 Horas

  • Usuários
  • 186 posts
  • Sexo:Masculino
  • Interesses:Amizade

Posted 07/10/2009, 13:34

Acho que não entendi nada mas de toda forma, o seu while está sobrescrevendo as variáveis.
Isto está certo?

Tente explicar melhor o que quer...

Evite também posts com códigos inteiros...
Poste apenas a parte que interessa ao seu problema..

Abraços
Mateus


Paz amado(a).

O script está funcionando normal, só que eu quero que exiba mais de um resultado, esse que estou executando só está exibindo um resultado, na verdade gostaria que exibisse todos os usuários por exemplo do estado de SP.

Se puder me ajudar ficarei agradecido.

Fique na paz de Jesus!

Obs: O estado SP foi somente um exemplo, o correto seria afirmar que no caso eu gostaria que aparece-se conforme o estado escolhido.
"Guerreiro que está na frente lutando e nunca volta pra trás, o pode, a unção, a majestade seja dada totalmente para Jesus Cristo, porque ele é o Rei do Exércitos, e eu pertenço a esse exército, sou Guerreiro de Jesus, que luta contra o inimigo e nunca abaixa a cabeça, pode vim os problemas que sempre vou vencer. Te amo Jesus!" Venha você também conhecer Jesus Cristo, Ele morreu por você na cruz.

#6 MBA

MBA

    24 Horas

  • Usuários
  • 412 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte
  • Interesses:Desenvolvimento WEB

Posted 07/10/2009, 14:12

Entendi...
No caso, a sua select retorna vários valores mas só é exibido 1.
Correto?

[codebox]
while ($dados = mysql_fetch_array($seleciona)){
$nome = $dados["nome"];
$id = $dados["id"];
$estado = $dados["estado"];
}
[/codebox]

Nesse ponto você está corrento todos os registros mas a cada registro sobrescreve o anterior.

Tente assim:
[codebox]
while ($dados = mysql_fetch_array($seleciona)){
$nome[] = $dados["nome"];
$id[] = $dados["id"];
$estado[] = $dados["estado"];
}
[/codebox]

Agora você terá um array com todos os registros.
Dai pra frente você tem a manha?

Abraços e até a próxima.
Mateus
Mateus Antunes
MBASistemas

#7 Beraldinho

Beraldinho

    12 Horas

  • Usuários
  • 186 posts
  • Sexo:Masculino
  • Interesses:Amizade

Posted 07/10/2009, 16:09

Entendi...
No caso, a sua select retorna vários valores mas só é exibido 1.
Correto?

while ($dados = mysql_fetch_array($seleciona)){$nome = $dados["nome"];$id = $dados["id"];$estado = $dados["estado"];}

Nesse ponto você está corrento todos os registros mas a cada registro sobrescreve o anterior.

Tente assim:
while ($dados = mysql_fetch_array($seleciona)){$nome[] = $dados["nome"];$id[] = $dados["id"];$estado[] = $dados["estado"];}

Agora você terá um array com todos os registros.
Dai pra frente você tem a manha?

Abraços e até a próxima.
Mateus


Não entendi o que você quis dizer. Poderia explicar melhor? Porque manha não tenho muito, poderia contar com sua ajuda nesse processo.

Obs: Sou iniciante ainda em PHP e MYSQL - mas sei desenvolver belos projetos, preciso de sua ajuda!

Edição feita por: Beraldinho, 07/10/2009, 14:26.

"Guerreiro que está na frente lutando e nunca volta pra trás, o pode, a unção, a majestade seja dada totalmente para Jesus Cristo, porque ele é o Rei do Exércitos, e eu pertenço a esse exército, sou Guerreiro de Jesus, que luta contra o inimigo e nunca abaixa a cabeça, pode vim os problemas que sempre vou vencer. Te amo Jesus!" Venha você também conhecer Jesus Cristo, Ele morreu por você na cruz.

#8 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 07/10/2009, 16:20

Coloque o o mysql_num_rows e o if/else dentro do while, junto com as variáveis que você criou.
while ($dados = mysql_fetch_array($seleciona)){
$nome = $dados["nome"];
$id = $dados["id"];
$estado = $dados["estado"];

// mysq_num_rows... if.. else aqui!

}

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#9 Beraldinho

Beraldinho

    12 Horas

  • Usuários
  • 186 posts
  • Sexo:Masculino
  • Interesses:Amizade

Posted 07/10/2009, 16:38

Coloque o o mysql_num_rows e o if/else dentro do while, junto com as variáveis que você criou.

while ($dados = mysql_fetch_array($seleciona)){
$nome = $dados["nome"];
$id = $dados["id"];
$estado = $dados["estado"];

// mysq_num_rows... if.. else aqui!

}


Então amigo, já está no código que está no topo desse tópico, mas não exibe nenhum dados. Se for de outro jeito poderia deixar montadinho???

aguardo
"Guerreiro que está na frente lutando e nunca volta pra trás, o pode, a unção, a majestade seja dada totalmente para Jesus Cristo, porque ele é o Rei do Exércitos, e eu pertenço a esse exército, sou Guerreiro de Jesus, que luta contra o inimigo e nunca abaixa a cabeça, pode vim os problemas que sempre vou vencer. Te amo Jesus!" Venha você também conhecer Jesus Cristo, Ele morreu por você na cruz.

#10 Carlos Maniero

Carlos Maniero

    Normal

  • Usuários
  • 72 posts
  • Sexo:Masculino

Posted 07/10/2009, 22:06

Olha encontrei o erro seu while está terminando nas variaveis e ela tem q esta até o final da função else faz assim:

Altera isso
while ($dados = mysql_fetch_array($seleciona)){$nome = $dados["nome"];$id = $dados["id"];$estado = $dados["estado"];}$result = mysql_num_rows($seleciona);if ($result == 0){    echo '<small style="font-weight: bold; color: rgb(255, 0, 0);"><span style="font-family: Verdana;">Aluno n&atilde;omatriculado!</span></small>';} else{echo "Você selecionou o estado ".$estado."<br><a href='editardados.php?id=".$id."'><span style='color: rgb(255, 0, 0);'>Alterar/Cadastrar notas</span></a><BR><span style='font-weight: bold;'>Nome: </span>".$nome."<br style='font-weight: bold;'><span style='font-weight: bold;'>Número da matr&iacute;cula: </span>".$id;}?>

por isso

while ($dados = mysql_fetch_array($seleciona)){$nome = $dados["nome"];$id = $dados["id"];$estado = $dados["estado"];$result = mysql_num_rows($seleciona);if ($result == 0){    echo '<small style="font-weight: bold; color: rgb(255, 0, 0);"><span style="font-family: Verdana;">Aluno n&atilde;omatriculado!</span></small>';} else{echo "Você selecionou o estado ".$estado."<br><a href='editardados.php?id=".$id."'><span style='color: rgb(255, 0, 0);'>Alterar/Cadastrar notas</span></a><BR><span style='font-weight: bold;'>Nome: </span>".$nome."<br style='font-weight: bold;'><span style='font-weight: bold;'>Número da matr&iacute;cula: </span>".$id;}}?>

é só alterar q da certo eu testei!!!!

Edição feita por: Carlos Maniero, 07/10/2009, 22:08.


#11 Beraldinho

Beraldinho

    12 Horas

  • Usuários
  • 186 posts
  • Sexo:Masculino
  • Interesses:Amizade

Posted 08/10/2009, 13:06

Olha encontrei o erro seu while está terminando nas variaveis e ela tem q esta até o final da função else faz assim:

Altera isso

while ($dados = mysql_fetch_array($seleciona)){$nome = $dados["nome"];$id = $dados["id"];$estado = $dados["estado"];}$result = mysql_num_rows($seleciona);if ($result == 0){    echo '<small style="font-weight: bold; color: rgb(255, 0, 0);"><span style="font-family: Verdana;">Aluno n&atilde;omatriculado!</span></small>';} else{echo "Você selecionou o estado ".$estado."<br><a href='editardados.php?id=".$id."'><span style='color: rgb(255, 0, 0);'>Alterar/Cadastrar notas</span></a><BR><span style='font-weight: bold;'>Nome: </span>".$nome."<br style='font-weight: bold;'><span style='font-weight: bold;'>Número da matr&iacute;cula: </span>".$id;}?>

por isso

while ($dados = mysql_fetch_array($seleciona)){$nome = $dados["nome"];$id = $dados["id"];$estado = $dados["estado"];$result = mysql_num_rows($seleciona);if ($result == 0){    echo '<small style="font-weight: bold; color: rgb(255, 0, 0);"><span style="font-family: Verdana;">Aluno n&atilde;omatriculado!</span></small>';} else{echo "Você selecionou o estado ".$estado."<br><a href='editardados.php?id=".$id."'><span style='color: rgb(255, 0, 0);'>Alterar/Cadastrar notas</span></a><BR><span style='font-weight: bold;'>Nome: </span>".$nome."<br style='font-weight: bold;'><span style='font-weight: bold;'>Número da matr&iacute;cula: </span>".$id;}}?>

é só alterar q da certo eu testei!!!!


Parabéns amado. Consegui resolver meu problema.

Deus te abençoe - entra no MSN.

fique na paz!
"Guerreiro que está na frente lutando e nunca volta pra trás, o pode, a unção, a majestade seja dada totalmente para Jesus Cristo, porque ele é o Rei do Exércitos, e eu pertenço a esse exército, sou Guerreiro de Jesus, que luta contra o inimigo e nunca abaixa a cabeça, pode vim os problemas que sempre vou vencer. Te amo Jesus!" Venha você também conhecer Jesus Cristo, Ele morreu por você na cruz.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq