Foros del Web » Programando para Internet » PHP »

[ayuda]Filtro de busqueda

Estas en el tema de [ayuda]Filtro de busqueda en el foro de PHP en Foros del Web. que tal estimados colegas espero alguien pueda seguir este tema. lo que tengo es el siguiente formulario para filtrar "compras" de una tienda el cual ...
  #1 (permalink)  
Antiguo 05/10/2011, 16:28
Avatar de elmagosdac  
Fecha de Ingreso: julio-2011
Ubicación: Tultepec, Mexico
Mensajes: 7
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta [ayuda]Filtro de busqueda

que tal estimados colegas espero alguien pueda seguir este tema.

lo que tengo es el siguiente formulario para filtrar "compras" de una tienda

el cual tengo

Estado
Numero de compra
Fecha

en el cual no tengo ningun problema donde tengo la duda es como consultar esto en en mi "action" tengo la leve idea de hacer esto

Código PHP:
<?php 
$q_pedidos
=mysql_query("select * from kalli_orden_pedido WHERE status LIKE '%$estado%' AND numero_compra LIKE '%$numero%' AND fecha_compra LIKE '%".$d."-".$m."-".$a."%'");
?>
pero al ejecutarlo no me sale nada por su puesto solo pasa esto si mi filtro viene con campos vacíos. espero puedan ayudarme saludos
  #2 (permalink)  
Antiguo 05/10/2011, 16:54
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: [ayuda]Filtro de busqueda

de donde obtienes estas variables

Código PHP:
Ver original
  1. $d
  2. $m
  3. $a.

Y te recomiendo deputar tus querys de la siguiente manera

Código PHP:
Ver original
  1. <?php
  2. $q_pedidos=mysql_query("select * from kalli_orden_pedido WHERE status LIKE '%$estado%' AND numero_compra LIKE '%$numero%' AND fecha_compra LIKE '%".$d."-".$m."-".$a."%'") or die (mysql_error());
  3. ?>
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 05/10/2011, 22:16
Avatar de elmagosdac  
Fecha de Ingreso: julio-2011
Ubicación: Tultepec, Mexico
Mensajes: 7
Antigüedad: 12 años, 9 meses
Puntos: 0
Sonrisa Respuesta: [ayuda]Filtro de busqueda

Muchas gracias por responder , bues

dma

son 3 combos Dia mes año lo unico que hago es concatenar

y gracias por la nota de la depuracion, no lo crei nescesario ahora XD de echo tenia la idea (suena muy fumado) , de hacer una consulta por casos , mira me explico

como son 3 datos que estoy filtrando y tanto puede ser uno u otro hacer una consulta para cada tipo de combinación algo asi

Código PHP:
if($estado != NULL){
$q_pedidos=mysql_query("select * from kalli_orden_pedido WHERE status LIKE '%$estado%' ") or die (mysql_error());
?> 
y asi para cada busqueda que haga inclusive hacer las combinaciones como

$estado y $numerocompra
$numerocompra y $fecha
$estado y $fecha

que ideas me das amigo?

por aki tenemos un dicho " pa que hacerlo dificil si lo podemos hacer imposible"
saludos
  #4 (permalink)  
Antiguo 05/10/2011, 22:47
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: [ayuda]Filtro de busqueda

simple

esta es tu consulta

Código PHP:
Ver original
  1. <?php
  2.     $q_pedidos=mysql_query("select * from kalli_orden_pedido WHERE status LIKE '%$estado%' AND numero_compra LIKE '%$numero%' AND fecha_compra LIKE '%".$d."-".$m."-".$a."%'") or die (mysql_error());
  3.     ?>

si la psamos a un simple string podria ser esto:

select * from kalli_orden_pedido WHERE status LIKE '%si%' AND numero_compra LIKE '%24%' AND fecha_compra LIKE '%12-1-2002%'

esto te retorna algun valor pero si por ejemplo $estado esta vacio:

Código PHP:
Ver original
  1. $estado = '';

te imprime esto:

Código MySQL:
Ver original
  1. select * from kalli_orden_pedido WHERE status LIKE '%%' AND numero_compra LIKE '%24%' AND fecha_compra LIKE '%12-1-2002%'

mysql buscara que status like '%%' o sea que no filtrará la busqueda por ese parametro pero si por los que existan.

como ves si dejas la consulta asi como esta, debe funcionar si el $_POST da un valor vacio a las variables
  #5 (permalink)  
Antiguo 07/10/2011, 00:06
Avatar de elmagosdac  
Fecha de Ingreso: julio-2011
Ubicación: Tultepec, Mexico
Mensajes: 7
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: [ayuda]Filtro de busqueda

gracias por la ayuda de los que atendieron esta pregunta

pues mi teoria fue la misma, solo que ahora cambie los AND or OR y al parecer anda bien la consulta.. saludos a todos :D

Etiquetas: html, mysql, 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 08:30.