Foros del Web » Programando para Internet » PHP »

Ordenar busqueda con select combobox

Estas en el tema de Ordenar busqueda con select combobox en el foro de PHP en Foros del Web. Buenas tardes!, estoy en periodo de aprendizaje en el mundo del php y realizado una web llego a un punto de atasco. Lo que quiero ...
  #1 (permalink)  
Antiguo 08/12/2007, 10:37
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Sonrisa Ordenar busqueda con select combobox

Buenas tardes!, estoy en periodo de aprendizaje en el mundo del php y realizado una web llego a un punto de atasco.
Lo que quiero hacer es ordenar los productos de una lista select por precio, tipo,localidad, calle modo o propietario y mostrar todos los resultados según el orden seleccionado, este es el select:

<form name="ordenar_form" method="post" action="$_SERVER[PHP_SELF]">
<select name="ordenar_select">
<option value="tipo">Tipo
<option value="localidad">Localidad
<option value="calle">Calle
<option value="modo">Modo
<option value="precio">Precio
<option value="propietario">Propietario
</select>
<input type="submit" name="submit" value="buscar">
</form>

y acontinuación realizo el select de sql:

$POST['ordenar_select'];
$consulta=mysql_query("SELECT*FROM inmuebles ORDER BY id",$link);

ahora mismo lo tengo ordenado por id, pero lo que me gustaría sería poder ordenar los valores según la opción escogida.
Me imagino que para vosotros será sencillo pero yo estoy perdido
Gracias por la ayuda de antemano
  #2 (permalink)  
Antiguo 08/12/2007, 10:50
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Ordenar busqueda con select combobox

Si ya tienes el orden en la variable $_POST, ¿por qué no haces la consulta SQL con ese orden?
  #3 (permalink)  
Antiguo 08/12/2007, 10:59
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ordenar busqueda con select combobox

la consulta ya se que está mal, lo que no se es cómo realizarla para que según la opción elegida en el combo me ordene los valores, no se si me explico. ahora mismo solo la tengo ordenada por id por defecto porque no se cómo hacerlo de la otra forma
  #4 (permalink)  
Antiguo 08/12/2007, 11:13
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Ordenar busqueda con select combobox

Umm, así de primeras tienes que comprobar si se accede a la página a través del método POST, es decir si han venido a través del formulario.

Luego compruebas las variables, en concreto la del select.

No estoy seguro, pero creo que en las variables de un campo Select de un formulario se almacena el "value", así que si tienes bien definido el valor de "value", sólo tendrás que añadir esa variable al "ORDER BY".
  #5 (permalink)  
Antiguo 08/12/2007, 11:39
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ordenar busqueda con select combobox

ahora el select lo envio a la misma pagina y compruebo de donde viene:

if ($_POST['ordenar_select'])
{
$link=conectarse();
$consulta=mysql_query("SELECT*FROM inmuebles ORDER BY value",$link);
}

pero algo hago mal en la consulta porque no me ordena nada,!el select no kiere trabajar!
  #6 (permalink)  
Antiguo 08/12/2007, 22:41
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ordenar busqueda con select combobox

Alguna sabia ayuda???
  #7 (permalink)  
Antiguo 09/12/2007, 00:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ordenar busqueda con select combobox

Tienes que pasarle el valor de tu string:
Código PHP:

if ($_POST['ordenar_select'])
{
$link=conectarse();
$order mysql_escape_string$_POST['ordenar_select'] );
$consulta=mysql_query("SELECT*FROM inmuebles ORDER BY $order",$link);

Saludos.
  #8 (permalink)  
Antiguo 10/12/2007, 06:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ordenar busqueda con select combobox

funciona a la perfección, gracias GatorV, eres un maquina
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:28.