Jump to content


Photo

Procurar Dentro Do Campo


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

#1 Luke

Luke

    O Que Sei É Que Nada Sei

  • Usuários
  • 304 posts
  • Sexo:Não informado
  • Localidade:Bsb

Posted 10/09/2003, 11:42

a gente boa tô afim de montar uma busca dentro do meu BD ... mas somente dentro de alguns campos da tabela... como eu poderia fazer isso usando um select mame caixa suspensa


onde eu colocaria as palavras que eu quero que sejam procuradas e teria o resultado.


é + ou - assim: tenho alguns usuários cadastados.... quero saber quantos tem doutorado e quantos tem o 1º grau completo dai eu colocaria os diferentes níveis de intrução nesse select name - caixa suspensa e quando eu quisesse saber quem tem doutorado eu escolheria e o script faria a procura usando aquela palavra ( no caso o nivel de intrução )



Alguém pode me dar uma luz :light: :ok:


Eu desenvolvo alguns scripts mas... demoro muito para pensar na lógica dele ... de maneira que se alguém puder me dar umas dicas :ok:


T+
Luke
######################
"A humanidade está perdendo seus maiores gênios... Aristóteles faleceu, Newton bateu as botas, Einstein morreu, e eu não tô passando muito bem hoje... "

#2 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados<br><br>Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 10/09/2003, 12:24

Oi, Luke!

Não entendi mto bem o q deseja, mas vamos lá...

Suponhamos q o q vc queira é digitar numa caixa de texto (não sei se é isso q vc chama de caixa suspensa) o nível de instrução da pessoa. Suponhamos q vc digite na caixa o texto "doutorado". Então vc faz o script de destino fazer a busca da seguinte forma:

$busca=mysql_query("SELECT * FROM tabela WHERE nivel='$campo'",$con);

Neste exemplo eu estou considerando a tabela com o nome "tabela", o campo do nível de escolaridade com o nome "nivel" e que a os dados neste campo estejam EXATAMENTE como o q foi digitado, ou então nenhum registro irá ser retornado (pois existe a opção de você procurar por pedaços do texto dentro do campo, como procurar por "grau", e retornariam aqueles que tem o campo nivel="1 grau completo", ou nivel="2 grau completo", ou nivel="1 grau incompleto", ou qquer outro valor q tenha a palavra "grau", basta perguntar como q a gente explica).

Mas eu não entendi direito o q vc quer, realmente. Então diga se tem algo a ver com o q eu comecei a explicar, e explique direito onde está sua dúvida.

Um abraço,
Thales Medeiros.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.

#3 sensuais

sensuais

    Turista

  • Usuários
  • 37 posts
  • Sexo:Não informado

Posted 10/09/2003, 12:24

Ve se esse código te ajuda a dar inicio a sua pesquisa...

<?
  $conec;
  $bco;
  $conectou = 0;
  include "conexao.php";
  if ($conectou) {
    
$sql = "select * from SUA_TABELA where para = '$txt_para'";
$regsporpg = 10; // resultado por página

 	 if ($txt_tipo != "") $sql .= " and tipo = '$txt_tipo' "; 
 	 if ($txt_bairro != "") $sql .= " and bairro = '$txt_bairro' "; 
 	 if ($txt_dorm == "1") $sql .= " and dorm = 1 "; 
 	 if ($txt_dorm == "5") $sql .= " and dorm >= 5 "; 
 	 if ($txt_preco == "1") $sql .= " and preco between 100.00 and 200.00"; 

if ($sql2 != "") { 
$sql = urldecode($sql2);
$sql = stripslashes($sql);
}

	if ($pg == "") $pg = 1;
	$pg2 = ($pg - 1) * $regsporpg;
	$sql1 = $sql . " LIMIT $pg2, $regsporpg ";
	$res = mysql_query($sql1,$conec) or die (mysql_error());
	if(mysql_num_rows($res)>0) {
	while ($dados = mysql_fetch_array($res)) {
	
	include "sua_pagina de_resultado.php";
  

  } //fecha conteudo 

$res2 = mysql_query($sql,$conec) or die (mysql_error());
$qtdpgs = ceil((mysql_num_rows($res2) / $regsporpg));
while ($pagina < $qtdpgs) {
$pagina = $pagina + 1;
$sql2 = urlencode($sql);
echo "<a href=".$PHP_SELF."?sql2=".$sql2."&pg=".$pagina."> $pagina </a> |";
}
} else {
echo "Nenhumencontrado nesse perfil.";
 echo "<br><a href='javascript:history.go(-1)'><< Voltar</a><br>";
} //fecha mysql_num_Rows
} //fecha conectou
?>


#4 Luke

Luke

    O Que Sei É Que Nada Sei

  • Usuários
  • 304 posts
  • Sexo:Não informado
  • Localidade:Bsb

Posted 10/09/2003, 12:55

Oi, Luke!

Não entendi mto bem o q deseja, mas vamos lá...

Suponhamos q o q vc queira é digitar numa caixa de texto (não sei se é isso q vc chama de caixa suspensa) o nível de instrução da pessoa. Suponhamos q vc digite na caixa o texto "doutorado". Então vc faz o script de destino fazer a busca da seguinte forma:

$busca=mysql_query("SELECT * FROM tabela WHERE nivel='$campo'",$con);

Neste exemplo eu estou considerando a tabela com o nome "tabela", o campo do nível de escolaridade com o nome "nivel" e que a os dados neste campo estejam EXATAMENTE como o q foi digitado, ou então nenhum registro irá ser retornado (pois existe a opção de você procurar por pedaços do texto dentro do campo, como procurar por "grau", e retornariam aqueles que tem o campo nivel="1 grau completo", ou nivel="2 grau completo", ou nivel="1 grau incompleto", ou qquer outro valor q tenha a palavra "grau", basta perguntar como q a gente explica).

Mas eu não entendi direito o q vc quer, realmente. Então diga se tem algo a ver com o q eu comecei a explicar, e explique direito onde está sua dúvida.

Um abraço,
Thales Medeiros.

Blz Thales...


kara seguinte... serei mais especifico...

quando vc vai editar uma mensagem ( aqui no fórum mesmo ) pois é ... tem a opção de formatação onde vc escolhe o tamanho da fonte ....certo... eu quero algo daquele jeito....


já existe alguns valores definidos ( no meu caso o nivel de intrução do user ) mas aqui no fórum ( na parte de edição de msg ) as opções definidas como tamanho da fonte cor etc. tmb ja estão definidos ....



sakou?!


eu conheço ( aprendi ) o nome disso como select name.... pode ser que seja outro .... mas vc pode me ajudar!!


T+
LuKe
######################
"A humanidade está perdendo seus maiores gênios... Aristóteles faleceu, Newton bateu as botas, Einstein morreu, e eu não tô passando muito bem hoje... "

#5 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados&lt;br&gt;&lt;br&gt;Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 10/09/2003, 13:41

Agora eu entendi... :)

Bem... Já q os níveis de instrução já estão pré-definidos, então é mais tranqüilo. Vc vai simplesmente criar o SELECT (sim, é esse mesmo o nome, ou então caixa de seleção, ou combobox, ou combo, ou menu drop-down, ou menu de seleção... : ) com os dados desejados e fazer a busca de acordo com a seleção.

Mas eu não sei o q mais vc quer q a pessoa selecione, além do nível de instrução. Pois talvez vc queira digitar algum nome E selecionar seu nível de instrução. Não sei! Mas se vc deseja somente selecionar no SELECT o nível desejado e fazer a busca pelos nomes cadastrados com tal nível, então vc tem 2 alternativas. Uma é buscar os níveis do próprio banco, onde uma consulta pode exibir todos os níveis diferentes cadastrados e jogar estes dados dentro do SELECT. Vou te dar um exemplo:

<?
$con=mysql_connect("host", "usuário", "senha");
mysql_select_db("banco", $con);
?><html><head><title>Título</title></head>
<body>
<form method=post action=<?=$PHP_SELF?>>
<select name=nivel>
<?
$busca=mysql_query("SELECT DISTINCT nivel FROM tabela", $con);
while ($coluna=mysql_fetch_array($busca))
    echo "<option value=\"$coluna[0]\">$coluna[0]</option>\r\n";
?></select>
</form>
<input type=submit value=BUSCAR>
<?
if (isset($nivel)) {
    echo "<br><br>Os nomes com este nível são:<br><br>";
    $busca=mysql_query("SELECT nome FROM tabela WHERE nivel='$nivel'", $con);
    while ($coluna=mysql_fetch_array($busca))
        echo "$coluna[0]<br>";
}
?></body></html>

A outra solução é vc não buscar os níveis do banco, mas já criar os níveis manualmente. Por exemplo:

<?
$con=mysql_connect("host", "usuário", "senha");
mysql_select_db("banco", $con);
?><html><head><title>Título</title></head>
<body>
<form method=post action=<?=$PHP_SELF?>>
<select name=nivel>
<option value="1 Grau Completo">1 Grau Completo</option>
<option value="1 Grau Incompleto">1 Grau Incompleto</option>
<option value="2 Grau Completo">2 Grau Completo</option>
<option value="2 Grau Incompleto">2 Grau Incompleto</option>
<option value="Mestrado">Mestrado</option>
<option value="Doutorado">Doutorado</option>
</select>
<input type=submit value=BUSCAR>
</form>
<?
if (isset($nivel)) {
    echo "<br><br>Os nomes com este nível são:<br><br>";
    $busca=mysql_query("SELECT nome FROM tabela WHERE nivel='$nivel'", $con);
    while ($coluna=mysql_fetch_array($busca))
        echo "$coluna[0]<br>";
}
?></body></html>

Espero ter ajudado!

Um abraço,
Thales Medeiros.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.

#6 Luke

Luke

    O Que Sei É Que Nada Sei

  • Usuários
  • 304 posts
  • Sexo:Não informado
  • Localidade:Bsb

Posted 10/09/2003, 14:56

Taí esse Thales Medeiros é gente fina :ok:

kara era exatamente o que eu queria...vou testar e adequar as minhas necessidades..

<?
$con=mysql_connect("host", "usuário", "senha");
mysql_select_db("banco", $con);
?><html><head><title>Título</title></head>
<body>
<form method=post action=<?=$PHP_SELF?>>
<select name=nivel>
<option value="1 Grau Completo">1 Grau Completo</option>
<option value="1 Grau Incompleto">1 Grau Incompleto</option>
<option value="2 Grau Completo">2 Grau Completo</option>
<option value="2 Grau Incompleto">2 Grau Incompleto</option>
<option value="Mestrado">Mestrado</option>
<option value="Doutorado">Doutorado</option>
</select>
<input type=submit value=BUSCAR>
</form>
<?
if (isset($nivel)) {
  echo "<br><br>Os nomes com este nível são:<br><br>";
  $busca=mysql_query("SELECT nome FROM tabela WHERE nivel='$nivel'", $con);
  while ($coluna=mysql_fetch_array($busca))
      echo "$coluna[0]<br>";
}
?></body></html>





Brigadão kara! :ok: :ok: ;)
######################
"A humanidade está perdendo seus maiores gênios... Aristóteles faleceu, Newton bateu as botas, Einstein morreu, e eu não tô passando muito bem hoje... "

#7 danilodepolli

danilodepolli

    Doutor

  • Usuários
  • 987 posts
  • Sexo:Não informado

Posted 11/10/2003, 11:30

Pessoal

Eu tbm precisava desse codigo pra separar por categorias, foi util demais... mas só to conseguindo fazer mostrar o codigo do usuario cadastrado quando seleciono a categoria, como faço pra mostrar os outros campos da tabela?
Tipo...nome, to usando esse codigo....

<?
$db = mysql_connect("localhost", "danilo", "******");
$basedados = mysql_select_db("dados");
?><html><head><title>Título</title></head>
<body>
<form method=post action=<?=$PHP_SELF?>>
<select name=categoria>
<option value="Homem">Homem</option>
<option value="Mulher">Mulher</option>
<option value="2 Grau Completo">2 Grau Completo</option>
<option value="2 Grau Incompleto">2 Grau Incompleto</option>
<option value="Mestrado">Mestrado</option>
<option value="Doutorado">Doutorado</option>
</select>
<input type=submit value=BUSCAR>
</form>
<?
if (isset($categoria)) {
   echo "<br><br>Os nomes com este nível são:<br><br>";
   $result=mysql_query("SELECT * FROM dados WHERE categoria='$categoria'", $db);
   while ($row=mysql_fetch_array($result))
       echo "$row[0]<br>";


}
?></body></html>

Agora no meu outro arquivo que faço a separaçao ta assim a linha select e while....

 $result = mysql_query("SELECT * FROM dados WHERE categoria ='Homem'" , $db);
while ($row = mysql_fetch_array($result)) {
    $categoria[] = $row["categoria"];
    $codigo[] = $row["codigo"];
    $nome[] = $row["nome"];
    $telefone[] = $row["telefone"];
    $datanascimento[] = $row["datanascimento"];
    $foto[] = $row["foto"];
    $site[] = $row["site"];

  }
?>

E depois uso uns html pra mostrar os dados em forma de tabela usando
<? echo
        $datanascimento[$qntd]; ?>
.... que no meu ta normal, mas quando tento usar o codigo com essa opcao de select da pau...
Danilo Depolli
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br




1 user(s) are reading this topic

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

IPB Skin By Virteq