Foros del Web » Programando para Internet » PHP »

filtro de busqueda con select

Estas en el tema de filtro de busqueda con select en el foro de PHP en Foros del Web. buenas tardes. tengo una duda para un filtro de busqueda con select. yo listo los productos en forma descendente. en el filtro de busqueda con ...
  #1 (permalink)  
Antiguo 29/12/2010, 11:37
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 14 años, 9 meses
Puntos: 7
Pregunta filtro de busqueda con select

buenas tardes. tengo una duda para un filtro de busqueda con select. yo listo los productos en forma descendente.

en el filtro de busqueda con select debo ordenarlos alfabeticamente, los precios de menor a mayor y viceversa.

asi seria mi select.

Código HTML:
Ver original
  1. <select name="order" id="order" class="brands" onchange="ordenar();">
  2.     <option value="">--SELECT--</option>
  3.     <option value="ASC">Brands</option>
  4.     <option value="DESC">Newest arrivals</option>
  5.     <option value="ASC">Low to High</option>
  6.     <option value="DESC">High to low</option>

mi pregunta es como haria en mi sql para que solo me filtre lo que he seleccionado ?.

habia desarrollado de esta manera:

Código PHP:
Ver original
  1. //filters of listing products.
  2. if($_POST['order']!=""){
  3.     $condicion .= "ORDER BY pd.products_name ".$_POST['order']."";
  4. }      
  5.  
  6. if($_POST['order']!=""){
  7.     $condicion .= "ORDER BY p.products_price ".$_POST['order']."";
  8. }

me sale error en el sql que la sentencia order no deben de ir juntas.

saludos.
  #2 (permalink)  
Antiguo 29/12/2010, 11:44
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 21 años, 9 meses
Puntos: 39
Respuesta: filtro de busqueda con select

Mas bien de mandarle el tipo de ordenamiento por la variable deberias de mandarle un identificador.


<select name="order" id="order" class="brands" onchange="ordenar();">
<option value="">--SELECT--</option>
<option value="1">Brands</option>
<option value="2">Newest arrivals</option>
<option value="3">Low to High</option>
<option value="4">High to low</option>
</select>



**************************

Código PHP:
Ver original
  1. //filters of listing products.
  2. if($_POST["order"] == 1){
  3.      $condicion .= "ORDER BY pd.products_name ";
  4. }elseif($_POST['order'] == 2){
  5.     $condicion .= "ORDER BY p.products_price DESC";
  6. }

y así sucesivamente...


Nota: Cuando es ASC no se le pone solo el order by


Saludos,,,
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #3 (permalink)  
Antiguo 29/12/2010, 11:48
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 12 años, 11 meses
Puntos: 55
Respuesta: filtro de busqueda con select

order by se utiliza una sola vez y si quieres poner mas campos los separas por , (coma)

ejemplo
select * from tabla where algo order by id asc, fecha asc
  #4 (permalink)  
Antiguo 29/12/2010, 11:59
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 14 años, 9 meses
Puntos: 7
Respuesta: filtro de busqueda con select

gracias por las respuestas muchachos. vere el codigo que colocaron y les cuento como me fue.

saludos.

Etiquetas: select, busquedas, filtros
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 01:36.