Ir para conteúdo

POWERED BY:

Arquivado

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

bcs_ptx

Ordenar na busca

Recommended Posts

pessoal, depois que eu faço a busca, na lista eu coloquei um botão para ordenar por crescente e decrescente, mas oque acontece, se eu buscar pela letra c, ele lista todos as pessoas com a letra c, mas quando eu clico em ordenar, ele ordena mas faz uma busca de novo de todo o banco, então essa é minha dúvida, como eu faço para ordenar só os registro que eu fiz a busca? segue meu código.abraços.

 


$nome_usuario = $_POST['nome_usuario'];

	$consultanome_usuario = '';

	if(isset($_GET['modeloCrescente'])){

		$variavelconsulta = "
		SELECT
			*
		FROM
			tbl_impressora
		JOIN
			tbl_usuarios
		ON
		(
			tbl_impressora.id_usuario = tbl_usuarios.id_usuario
		)
		WHERE id_impressora > 0 ORDER BY nome_modelo_impressora ASC";

		if($nome_usuario != ""){

			$consultanome_usuario = " AND tbl_usuarios.nome like '%".$_POST['nome_usuario']."%'";

		}			

		$busca_query = mysql_query($variavelconsulta.$consultanome_usuario);

	}

<a href="cod_busca_impressoras.php?modeloCrescente">ordenar</a>


Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você buscou por C e quando clica na ordenação submete novamente a página, logo, você fará a consulta novamente, então deve submeter com a busca que foi realizada novamente. Exemplo:

 

<a href="cod_busca_impressoras.php?nome_usuario=<?php echo $_GET['nome_usuario']; ?>&modeloCrescente">ordenar</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

blza, mas deu o seguinte erro,

 

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\Arquivos de programas\EasyPHP5.3.0\www\impressora\cod_busca_impressoras.php on line 322

 

linha 322 é

<?php while($dados = mysql_fetch_assoc($busca_query)){  ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você alterou isto $_POST['nome_usuario'] para isto $_GET['nome_usuario']?

 

Também vai precisar alterar o seu form, que deve estar com method="post", altere para method="get" ou omita esta propriedade.

 

Outra coisa, sua instrução SQL termina com:

WHERE id_impressora > 0 ORDER BY nome_modelo_impressora ASC

 

E depois você faz uma concatenação com

AND tbl_usuarios.nome like ...

 

Resultado em:

WHERE id_impressora > 0 ORDER BY nome_modelo_impressora ASC AND tbl_usuarios.nome like ...

 

Resultado:

Não funciona. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro cara, eu tinha colocado o código dentro do WHERE por isso não estava dando certo agora mudei e deu certinho.valeu ai.

 

segue o código.

 

if(isset($_GET['modeloCrescente'])){

		$variavelconsulta = "
		SELECT
			*
		FROM
			tbl_impressora
		JOIN
			tbl_usuarios
		ON
		(
			tbl_impressora.id_usuario = tbl_usuarios.id_usuario
		)
		WHERE id_impressora > 0";

		if($nome_usuario != ""){

			$consultanome_usuario = " AND tbl_usuarios.nome like '%".$nome_usuario."%' ORDER BY nome_modelo_impressora ASC";

		}			

		$busca_query = mysql_query($variavelconsulta.$consultanome_usuario);

	}

<a href="cod_busca_impressoras.php?modeloCrescente&nome_usuario=<?php echo $_GET['nome_usuario']; ?>"></a>

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.