Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AMDark

[Resolvido] duplo filtro sql

Recommended Posts

ola pessoal, estou com uma duvida no sql, tenho um bd:

 

nome:

telefone:

endereço:

vip: (entre 1, 2, 3)

 

 

e gostaria de puxar de filtrar ele com 2 parametros, o primeiro seria o nome especifico (where nome like '%$***%') o segundo eu qeria que ele puxasse apenas os cadastros que fossem vip 1 e vip 2. isso é para utilizar no campo pesquisar no site, aonde so retornara os cadastros das pessoas que sao patrocinadoras a qual eu atribuirei como vip 1 ou vip 2.

 

isso deve ser facil mais nao consegi axar nada na internet esplicando, fico no agardo e obrigado pela força.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o IN.

 

WHERE NOME LIKE 'AMD%'
AND VIP IN (1,2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu certinho vivendo e aprendendo obrigado pela instruçao.

 

estou com um peqeno probleminha aqui, nao sei pq o meu pesquisar so esta retornando do 2º resultado pra frente:

 

 <?


	mysql_select_db($database_agvj, $agvj);



	$pesquisa = $_GET['pesquisar'];
       $query_recordagvj = "SELECT * FROM agendajuina WHERE nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendaaripuana where nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendabrasnorte where nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendacastanheira where nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendacolniza where nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendacotriguacu where nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendajuruena where nome like '%$pesquisa%'";
       $recordagvj = mysql_query($query_recordagvj, $agvj) or die(mysql_error());
       $row_recordagvj = mysql_fetch_assoc($recordagvj);
       $totalRows_recordagvj = mysql_num_rows($recordagvj);

	while ($row_recordagvj = mysql_fetch_assoc($recordagvj)){
     	$nome = $row_recordagvj['nome'];
	$endereco = $row_recordagvj['endereco'];
	$fone = $row_recordagvj['telefone'];
	$imagem = $row_recordagvj['imagem'];
	$vip = $row_recordagvj['vip'];

	$name = "";
	$telefone = "";
	$ender = "";
	$exibir = "";



	switch($vip){

		case 0:
			$name = $nome;
			$telefone = $fone;

		break;

		case 1:
			$name = $nome;
			$telefone = $fone;
			$ender = $endereco;
			$exibir = $imagem;

		break;


	}
   	?>


       <table width="567">
       <tr>
       <th colspan="2"></th>
       </tr>
          <?php
if($exibir != ''){
?>
   <td rowspan="3" width="20%"><div align="left">

   <img src="imagens/classificados/<?php echo $exibir?>"/>

   </div></td>
    <?php
}
?>
       <td style="font-family:Tahoma, Palatino Linotype, Book Antiqua, Times New Roman; font-size:18px; font-weight:bolder; padding-left:10px;"><? echo $name?></td>
       </tr>
       <tr>
       <td style="Tahoma, Palatino Linotype, Book Antiqua, Times New Roman; font-size:14px; font-weight:bolder; padding-left:10px;"><? echo $ender?></td>
       </tr>
       <tr>
       <td style="Tahoma, Palatino Linotype, Book Antiqua, Times New Roman; font-size:16px; font-weight:bolder; color:#F00; padding-left:10px;"><? echo $telefone?></td>
       </tr>
       <tr>
       <th colspan="2" width="567" height="2"><hr /></th>
       </tr>
       </table>


           <?php } ?>

 

aonde o $pesquisa é aonde vem os dados do campo pesquisar, se eu utilizo o mesmo comando no sql no phpmyadmin ele retorna o resultado do 1º em diante certinho. o que sera que tem de errado ai?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rode a query em separado para ver se o problema é nela ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixei apenas um query sem o union

 

$query_recordagvj = "SELECT * FROM agendajuina WHERE nome like '%$pesquisa%'";

 

nao deu certo tbm, continua sem exibir o primeiro resultado, estranho pq se eu for la no phpmyadmin e digitar por exemplo:

 

SELECT * FROM agendajuina WHERE nome like '%maria%'

 

ele exibe o certinho, e indo pelo site ele começa a mostrar os resultados apartir do 2º nome so.

 

entrem no site para verem http://www.agendavaledojuruena.com.br/site/

e pesquisem la por exemplo: maria

 

e entrem nessa pagina q copiei e colei o sql e aparecera o 1º resultado:

 

http://www.agendavaledojuruena.com.br/site/pfone.php

 

muito estranho, deve ter algo na pagina q esta ocultando o preimeiro resultado, mais nao sei o q é, sou iniciante por isso estou pedindo ajuda, se algem puder agradeço abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

[...]
$row_recordagvj = mysql_fetch_assoc($recordagvj); // Comente esse cara
$totalRows_recordagvj = mysql_num_rows($recordagvj);

while ($row_recordagvj = mysql_fetch_assoc($recordagvj))
[...]

 

Você esta usando 1 vez o 'mysql_fetch_assoc' antes de começar o LOOP comente a linha ali em cima que resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é eu vi depois esta parte errada, é q eu esta mudando de lugar e acabei eskecendo de apagar, consegi resolver colocando o: <?php do { ?> e o while ($row_recordagvj = mysql_fetch_assoc($recordagvj)) no fianl do loop ficando assim:

 

<?


	mysql_select_db($database_agvj, $agvj);



	$pesquisa = $_GET['pesquisar'];
       $query_recordagvj = "SELECT * FROM agendajuina WHERE nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendaaripuana where nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendabrasnorte where nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendacastanheira where nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendacolniza where nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendacotriguacu where nome like '%$pesquisa%'
	UNION
	SELECT * FROM agendajuruena where nome like '%$pesquisa%'";
       $recordagvj = mysql_query($query_recordagvj, $agvj) or die(mysql_error());
       $row_recordagvj = mysql_fetch_assoc($recordagvj);
       $totalRows_recordagvj = mysql_num_rows($recordagvj);  
	?>

   	<?php do { ?>
	<? 
     	$nome = $row_recordagvj['nome'];
	$endereco = $row_recordagvj['endereco'];
	$fone = $row_recordagvj['telefone'];
	$imagem = $row_recordagvj['imagem'];
	$vip = $row_recordagvj['vip'];

	$name = "";
	$telefone = "";
	$ender = "";
	$exibir = "";



	switch($vip){

		case 0:
			$name = $nome;
			$telefone = $fone;

		break;

		case 1:
			$name = $nome;
			$telefone = $fone;
			$ender = $endereco;
			$exibir = $imagem;

		break;


	}
   	?>


       <table width="567">
       <tr>
       <th colspan="2"></th>
       </tr>
          <?php
if($exibir != ''){
?>
   <td rowspan="3" width="20%"><div align="left">

   <img src="imagens/classificados/<?php echo $exibir?>"/>

   </div></td>
    <?php
}
?>
       <td style="font-family:Tahoma, Palatino Linotype, Book Antiqua, Times New Roman; font-size:18px; font-weight:bolder; padding-left:10px;"><? echo $name?></td>
       </tr>
       <tr>
       <td style="Tahoma, Palatino Linotype, Book Antiqua, Times New Roman; font-size:14px; font-weight:bolder; padding-left:10px;"><? echo $ender?></td>
       </tr>
       <tr>
       <td style="Tahoma, Palatino Linotype, Book Antiqua, Times New Roman; font-size:16px; font-weight:bolder; color:#F00; padding-left:10px;"><? echo $telefone?></td>
       </tr>
       <tr>
       <th colspan="2" width="567" height="2"><hr /></th>
       </tr>
       </table>


           <?php } while ($row_recordagvj = mysql_fetch_assoc($recordagvj)) ?>

 

 

 

obrigado pela atençao pessoal, resolvido e pode fexar o topico

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.