Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/02/2009, 00:43
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Respuesta: Ordenar registros de modo ascendente y descendente en un solo click

Puedes agregarle la variable $definicion a los enlaces. O también puedes utilizar variables de sesión. Ya que te pusieron el ejemplo de lo primero, te pongo un ejemplo de lo segundo:
Código PHP:
<?php
session_start
();

if (isset(
$_GET['var'])){
    
$item $_GET['var']; // Aquí faltaría comprobar si $_GET['var'] tiene un valor permitido.
} else {
    
// Valores por defecto y re-seteo de la sesión.
    
$item 'item_1';
    
$_SESSION['ultimo_item'] = '';
}

if (!isset(
$_SESSION['ultimo_item']) || $_SESSION['ultimo_item'] != $item) {
    
// Si es la primera vez que carga la página
    // o se está cambiando el item por el que se ordena
    
$_SESSION['ultimo_item'] = $item;
    
$_SESSION['ultimo_sentido'] = 'asc';
} else {
    
// Si se hizo clic en el mismo que ya estaba ordenado antes
    // Sólo hay que cambiar el sentido:
    
if ($_SESSION['ultimo_sentido'] == 'asc') {
        
$_SESSION['ultimo_sentido'] = 'desc';
    } else {
        
$_SESSION['ultimo_sentido'] = 'asc';
    }
}

//-----------------------------------------------------------------------

echo 'SELECT los campos FROM tabla ORDER BY '.$_SESSION['ultimo_item'].' '.$_SESSION['ultimo_sentido'];
?>
<div>
    <a href="?var=item_1">Item 1</a> | 
    <a href="?var=item_2">Item 2</a> | 
    <a href="?var=item_3">Item 3</a> | 
    <a href="?var=item_4">Item 4</a>
</div>
Puedes probar este archivo y ver cómo funciona.

Saludos,