Ver Mensaje Individual
  #7 (permalink)  
Antiguo 26/02/2009, 21:04
cartonista
 
Fecha de Ingreso: julio-2008
Mensajes: 37
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Ordenar registros de modo ascendente y descendente en un solo click

Probe de rapido los codigos de Axel y de Pinedo, el de triby checo y les digo, pero me quedaron dudas,

veamos el codigo de axel:

Este code me da error en la linea 4

$order = $_GET['ASC']; // Aqui se establece si es ASC o DESC


Me da este error:

Parse error: syntax error, unexpected T_VARIABLE in /home/dedit/public_html/prueba.php on line 4

Axel puso que el GET obtuviera el valor de Order, pero me arrojo el mismo error, no se exactamente a que se refiera ese $order, pero intente asignarle el valor ASC, pero con el mismo resultado.

Tambien tengo la duda de que variable se le asignaria al mysql_query, intente con el ORDER BY $item $param

Código PHP:
<?php
include("conexion.php");
$item=$_GET['$var']
$order $_GET['ASC']; // Aqui se establece si es ASC o DESC
$param "$order=='ASC'?'DESC':'ASC'";  
$item=$_GET['var'];
$var[0]="id";
$var[1]="cod_producto";
$var[2]="descripcion";
$var[3]="precio";
$var[4]="exento";
$var[5]="unidad_medida";
$var[6]="inventariable";
$var[7]="observacion";
$var[8]="cambio_de_sujeto";
$result mysql_query("SELECT * FROM producto ORDER BY $item $param");
while (
$file=mysql_fetch_array($result)){
echo 
"<table border '0'>
<tr>
<td width='100'><a href='prueba.php?var=$var[1]&amp;order=$param'>Codigo Producto</a></div></td>
<td width='100'><a href='prueba.php?var=$var[2]&amp;order=$param'>Descripcion</a></div></td>
<td width='100'><a href='prueba.php?var=$var[3]&amp;order=$param'>Precio</a></div></td>
<td width='100'><a href='prueba.php?var=$var[4]&amp;order=$param'>Exento</a></div></td>
<td width='100'><a href='prueba.php?var=$var[5]&amp;order=$param'>Unidad Medida</a></div></td>
<td width='100'><a href='prueba.php?var=$var[6]&amp;order=$param'>Inventariable</a></div></td>
<td width='100'><a href='prueba.php?var=$var[7]&amp;order=$param'>Observacion</a></div></td>
<td width='100'><a href='prueba.php?var=$var[8]&amp;order=$param'>Cambio Sujeto</a></div></td>
</tr>
<tr>
<td width='100'>$file[1]</td>
<td width='100'>$file[2]</td>
<td width='100'>$file[3]</td>
<td width='100'>$file[4]</td>
<td width='100'>$file[5]</td>
<td width='100'>$file[6]</td>
<td width='100'>$file[7]</td>
<td width='100'>$file[8]</td>
</tr>
</table>"
}
?>
Y en el codigo de Pinedo, me marco este error...

Código PHP:
Parse errorsyntax errorunexpected T_ENCAPSED_AND_WHITESPACEexpecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/dedit/public_html/prueba1.php on line 37 
la linea 37 tiene esto....

Código PHP:
$result "mysql_query('SELECT * FROM producto ORDER BY '.$_SESSION['ultimo_item'].' '.$_SESSION['ultimo_sentido'].'')"
code completo:

Código PHP:
<?php
include(conexion.php);
session_start();
$var[0]="id";
$var[1]="cod_producto";
$var[2]="descripcion";
$var[3]="precio";
$var[4]="exento";
$var[5]="unidad_medida";
$var[6]="inventariable";
$var[7]="observacion";
$var[8]="cambio_de_sujeto";
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';
    }
}

//-----------------------------------------------------------------------
$result "mysql_query('SELECT * FROM producto ORDER BY '.$_SESSION['ultimo_item'].' '.$_SESSION['ultimo_sentido'].'')";
while (
$file=mysql_fetch_array($result)){
echo 
"<table border '0'>
<tr>
<td width='100'><a href='prueba.php?var=$item_1&amp;order=$param'>Codigo Producto</a></div></td>
<td width='100'><a href='prueba.php?var=$item_2&amp;order=$param'>Descripcion</a></div></td>
<td width='100'><a href='prueba.php?var=$item_3&amp;order=$param'>Precio</a></div></td>
<td width='100'><a href='prueba.php?var=$item_4&amp;order=$param'>Exento</a></div></td>
<td width='100'><a href='prueba.php?var=$item_5&amp;order=$param'>Unidad Medida</a></div></td>
<td width='100'><a href='prueba.php?var=$item_6&amp;order=$param'>Inventariable</a></div></td>
<td width='100'><a href='prueba.php?var=$item_7&amp;order=$param'>Observacion</a></div></td>
<td width='100'><a href='prueba.php?var=$item_8&amp;order=$param'>Cambio Sujeto</a></div></td>
</tr>
<tr>
<td width='100'>$file[1]</td>
<td width='100'>$file[2]</td>
<td width='100'>$file[3]</td>
<td width='100'>$file[4]</td>
<td width='100'>$file[5]</td>
<td width='100'>$file[6]</td>
<td width='100'>$file[7]</td>
<td width='100'>$file[8]</td>
</tr>
</table>"
};
?>