Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/01/2014, 12:14
Avatar de angel_xx_1990
angel_xx_1990
 
Fecha de Ingreso: junio-2013
Ubicación: Guadalajara
Mensajes: 236
Antigüedad: 10 años, 10 meses
Puntos: 0
Exclamación Duda sobre las consultas a la BD con ORDER BY

Bien pues lo que quiero es dar la opción a los visitantes de mi web a que puedan elegir mediante un select, si los resultados que muestra la base de datos los muestra ordenados por Fecha, Precio ascendente o Precio descendente, Al pulsar un botón (BUSCAR.)que envié el formulario

Para ello e creado primero dos variables vacias:

Código PHP:
$fecha"";
$orden""
y luego:

Código PHP:
$opciones2 = array("Fecha","Precio ascendente","Precio descendente"); 
Y en el select:

Código PHP:
<option selected disabled>Seleccionar...</option>
            <?php
            
foreach($opciones2 as $opcion2) {
                echo 
"<option value=\"".$opcion2."\"";
                if(!
strcmp($or$opcion2)) {
                    echo 
" selected";
                }
                echo 
">".$opcion2."</option>";
            }
            
?>
      </select>

Hasta aquí creo que bien...pero lo que realmente quiero y mi duda viene aquí es saber como paso estos datos a la consulta, sin comparativos if...

Para ello me inventado lo siguiente que NO funciona y seguramete sea una gilipollez jeje


Código PHP:
if ($or=="Fecha"){
    
    
$orden='`id`';
    
$fecha='DESC';
    
}elseif (
$or=="Precio ascendente"){
    
    
$orden='precio';
    
$fecha='ASC';
    
}elseif (
$or=="Precio descendente"){
    
    
$orden='precio';
    
$fecha='DESC';

y en la consulta:

$rst_form=mysql_query("SELECT * FROM xxx WHERE descripcion LIKE '%".$busca."%' ORDER BY ".$orden." ".$fecha."");


intentando intentado no he conseguido nada...¿Alguna idea?


Gracias!