Foros del Web » Programando para Internet » PHP »

Problemas con mi consulta Filtrada

Estas en el tema de Problemas con mi consulta Filtrada en el foro de PHP en Foros del Web. Hola buenas tardes estimados colaboradores la presente es que tengo un problema con unas consultas que acabo de crear tengo varios campos en una tabla ...
  #1 (permalink)  
Antiguo 27/09/2010, 14:49
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 8 meses
Puntos: 0
Problemas con mi consulta Filtrada

Hola buenas tardes estimados colaboradores la presente es que tengo un problema con unas consultas que acabo de crear tengo varios campos en una tabla pero por lo general por los que mas consulto son:

La tabla es:
asg_articulos

Y tengo un formulario de consulta de esta manera:
Campos en los que consulto:
cedula
responsable_entrega
articulo
fecha_entrega

cree el siguiente codigo:

$sql="select * from sig.asg_articulos where cedula='".$ced."' and des_articulo='".$art."' and fecha='".$fec."' and supervisor='".$sup."'";
$result=mysql_query($sql,$con);
if ($result)
{

cuando consulto en los campos cedula y articulo me trae la consulta filtrada perfectamente pero cuando quiero consultar por ejemplo los campos cedula y fecha, no me funciona al igual que celdula y responsable de entrega colocando todo en and no me funciona ninguna consulta por que sera????.
A la espera de sus ayudas estimados colaboradoes.
Gracias---
  #2 (permalink)  
Antiguo 27/09/2010, 14:59
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Problemas con mi consulta Filtrada

prueba consultado por cada valor que se ingresa
Código PHP:
<?
$sql
="select * from sig.asg_articulos where 1 ";

//aca haces una cosulta que exista y despues le concatenas las demas busquedas

if($ced != ''){
   
$sql .= " AND cedula='".$ced."'";
}
//y asi para cada uno de los valores del formulario

$result=mysql_query($sql,$con);
?>
  #3 (permalink)  
Antiguo 27/09/2010, 15:09
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: Problemas con mi consulta Filtrada

Eso es porque en tu consulta "exiges" a MySQL tomar esos 4 datos como referencia, de modo que al filtrar sólo 2 datos no te devolverá ningún resultado, lo que tendrías que hacer es crear un array con las condiciones de consulta, ya sean a uno, dos, tres o los campos que quieras y ese array asignarlo en una variable y ponerla después del WHERE, para que así obtengas los resultados a cuantos campos consultes.

Saludos.
  #4 (permalink)  
Antiguo 27/09/2010, 15:20
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problemas con mi consulta Filtrada

Hola amigo gracias por tu repuest segun tu codigo pero sigo en lo mismo:

$sql="select * from sig.asg_articulos where 1";
if($ced != ''){
$sql .= " AND cedula='".$ced."'";
$sql .= " AND des_articulo='".$art."'";
$sql .= " AND fecha='".$fec."'";
$sql .= " AND supervisor='".$sup."'";
}


cual es el significado de where 1?
  #5 (permalink)  
Antiguo 28/09/2010, 10:24
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problemas con mi consulta Filtrada

Amigos revisando revisando y con ayudas de amigos del foro encontre que este es la solucion para mi problema y si me funciono si problemas:

$sql="SELECT * FROM sig.asg_articulos WHERE cedula='".$ced."' AND (des_articulo='".$art."' OR supervisor='".$sup."' OR fecha='".$fec."')";

Gracias a todos..!

Etiquetas: Ninguno
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 15:52.