Ir para conteúdo

POWERED BY:

Arquivado

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

Gabriel Negreiros

busca ordenada (ASC e DESC) por link

Recommended Posts

Ola a todos!Preciso fazer uma busca ordenada por ASC e DESC quando clicar no Nome (para ordenar por nome), Email(para ordenar por email) e assim por diante.Sei que eu preciso enviar o parâmetro para a query, mas não sei como vou fazer isso. Será que é através do isset($_REQUEST)?Desde já agradeço a atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso, passe pela url, e resgate com $_REQUEST

 

<a href="suapagina.php?ordem=nome">Nome</a>

<a href="suapagina.php?ordem=email">Email</a>

 

e no php

 

PHP
<?php

  if(isset($_REQUEST[nome]))

  {

     $ordem = $_REQUEST[nome];

     $query = "SELECT * FROM suaTabela ORDER BY $ordem ASC";

  }

  else

    {

      $query = "SELECT * FROM suaTabela";

    };

  $result = mysql_query($query);

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pelo auxilio, Leonardo, mas eu teste e não funcionou.1º tentativa - coloquei o código abaixo da query principalresultado: a pesquisa retornava como se não houvesse sido indicado ao sql para ASC ou DESC2ª tentativa - coloquei o código acima da query principalresultado: a pesquisa retornava em ordem alfabética, mas clicando no link ele nada fazia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<a href="suapagina.php?ordem=nome&modo=asc">Nome</a>

<a href="suapagina.php?ordem=email&modo=desc">Email</a>

 

PHP
$ordena = $_REQUEST['ordem'];

$modo   = $_REQUEST['modo'];

 

  if(isset($ordena) && isset($modo)) {

          $query = "SELECT * FROM suaTabela ORDER BY $ordena $modo";

  }else

    {

      $query = "SELECT * FROM suaTabela";

    }

 

  $result = mysql_query($query);

 

tenta dessa maneira

 

ps.: pode ser feito usando ajax, veja o conceito básico nesses links: link1 - link2

 

Abraço.

 

Sem Mais[]'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, conseguir fazer os links passarem através de uma variável, ASC/DESC para a query, o que acontece agora é que eu uso um sistema com paginação e quando executo alguma pesquisa ele não organiza.

 

o meu código está assim:

 

$ordena = $_REQUEST['ordem'];$modo   = $_REQUEST['modo'];if (isset($ordena) && isset($modo)) {$query = "SELECT * FROM teste ORDER BY $ordena $modo ";} else { 	$query = "SELECT * FROM teste";}$resultado = mysql_query($queryl);if( $modo == "asc" ){  $mdascdesc = "desc"; } else { $mdascdesc = "asc"; }<a href=\"usuario.php?ordem=nome&modo=$mdascdesc\">e o link da paginação está assim:if (isset($_REQUEST['param_busca']))  {		$prev_link = "$PHP_SELF?pagina=$prev&param_busca=$param_busca&radio_busca=$radio_busca";}else{		$prev_link = "$PHP_SELF?pagina=$prev";	}

mais ou menos por ai, preciso quando tiver sido executada uma pesquisa que o ordenamento por asc e desc possa ser efetuado também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce faz uma busca, mas quando ordena essa busca se desfaz né?isso porque quando voce ordena, ele seleciona todos os campos, voce tem que passar os parametros da busca junto com os parametros da ordem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo de link:

 

PHP
$ordena = $_REQUEST['ordem'];

$modo   = $_REQUEST['modo'];

 

  if(isset($ordena) && isset($modo)) {

          $query = "SELECT * FROM suaTabela ORDER BY $ordena $modo";

  }else

    {

      $query = "SELECT * FROM suaTabela";

    }

 

  $result = mysql_query($query);

 

 

echo '<a href="suapagina.php?ordem='.$ordena.'&modo='.$modo.'&pagina=1">Página 1</a>';

echo '<a href="suapagina.php?ordem='.$ordena.'&modo='.$modo.'&pagina=2">Página 2</a>';

 

deu pra entender?

 

poste se deu ou nao certo!

 

Abraço.

 

Sem Mais[]'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz da seguinte forma:

 

<a href=\"usuario.php?ordem=nome_completo&modo=$mdascdesc&param_busca=$param&radio_busca=$radio_busca\">Nome</a>

Passei os parâmetros da busca para o link que passa os parâmetros para ordenar a pesquisa em:

 

$ordena = $_REQUEST['ordem'];$modo = $_REQUEST['modo'];if (isset($ordena) && isset($modo)) {$query = "SELECT * FROM teste ORDER BY $ordena $modo ";} else {$query = "SELECT * FROM teste";}$resultado = mysql_query($queryl);if( $modo == "asc" ){ $mdascdesc = "desc"; } else { $mdascdesc = "asc"; }

Agora ta tudo tranquilo, agradeço a todos pela ajuda! Obrigado.

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.