Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Filtrado de informacion

Estas en el tema de Filtrado de informacion en el foro de Mysql en Foros del Web. que tal soy nuevo en esto y mi consulta es la siguiente, necesito filtrar la informacion que tengo en la base de datos por diferentes ...
  #1 (permalink)  
Antiguo 02/12/2010, 13:22
 
Fecha de Ingreso: diciembre-2010
Ubicación: SAAVEDRA
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Filtrado de informacion

que tal soy nuevo en esto y mi consulta es la siguiente, necesito filtrar la informacion que tengo en la base de datos por diferentes cosas, por ejemplo, por producto,certificado,service y puntaje... yo lo hize de esta manera

Código PHP:
$conexion=mysql_connect("localhost","root","") or
  die(
"Problemas en la conexion");
mysql_select_db("basedatos",$conexion) or
  die(
"Problemas en la selección de la base de datos");
$registros=mysql_query("select * from clientes
                        where producto='$_REQUEST[producto]' and certificado='$_REQUEST[certificado]' and service='$_REQUEST[service]' and puntaje='$_REQUEST[puntaje]'"
,$conexion) or
  die(
"Problemas en el select:".mysql_error()); 
pero de esta forma para q me muestre la informacion, tengo q completar si o si todos los campos, es decir tengo que poner cual es el producto el certificado el service y el puntaje ..si yo pongo solamente el producto y en los otros no pongo nada....no me muestra solo lo que quiero....nose si me explico
lo que yo quiero hacer es buscar por por ejemplo por producto y service...o por producto solo...o por puntaje...o por todo junto...y me vaya mostrando lo que necesito como tendria q hacer ? un if dentro del where? la verdad q nose como hacer y me estoy volviendo loco les agradeceria mucho su ayuda...
  #2 (permalink)  
Antiguo 02/12/2010, 13:49
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Filtrado de informacion

Saludos

Te convendría hacerlo directamente desde php, vas validando con un if si la variable es diferente a vacio entonces agregas la condicion para cada uno la vas concatenando, luego en la consulta llamas esa variable solamente en la condicion y listos..

Como este foro es de Mysql te lo expongo de la siguiente manera

Cita:
codicion="";
if(variable!=""){
codicion.="AND producto = variable"
}
if(variable2!=""){
codicion.="AND certificado= variable2"
}
//Luego en tu sentencia
select * from clientes where 1=1 condicion
Debes ajustar la codificación a php y si tienes mas dudas en el foro de php te podrán colaborar mejor o si buscas en el foro encontraras varios temas como este!.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 02/12/2010, 14:56
 
Fecha de Ingreso: diciembre-2010
Ubicación: SAAVEDRA
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Filtrado de informacion

gracias por la info mira segui tus pasos y me quedo asi pero me tira un error podrias decirme q es lo que estoy haciendo mal ?

Código PHP:
<?php
$conexion
=mysql_connect("localhost","root","") or
  die(
"Problemas en la conexion");
mysql_select_db("assurant",$conexion) or
  die(
"Problemas en la selección de la base de datos");
 
//filtrado de datos 
  
$codicion="";
if(
$_REQUEST[producto] != ""){
$codicion.="AND producto ='$_REQUEST[producto]'"
}
if(
$_REQUEST[certificado] != ""){
$codicion.="AND certificado ='$_REQUEST[certificado]'"
}
if(
$_REQUEST[service] != ""){
$codicion.="AND service ='$_REQUEST[service]'"
}
if(
$_REQUEST[puntaje] != ""){
$codicion.="AND puntaje ='$_REQUEST[puntaje]'"
}
$sql 'select * from clientes where 1=1 '.$condicion;
mysql_query($sql$conexion);

$registros=mysql_query("$sql,$conexion") or
  die(
"Problemas en el select:".mysql_error());
este es el error q me tira :
Parse error: syntax error, unexpected '}' in C:\xampp\htdocs\assurant\contenido\filtrado.php on line 16

Código:
14 if($_REQUEST[producto] != ""){
15 $codicion.="AND producto ='$_REQUEST[producto]'"
16 }
17 if($_REQUEST[certificado] != ""){
  #4 (permalink)  
Antiguo 03/12/2010, 13:34
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Filtrado de informacion

Saludos

Cada vez que declares una variable debes terminar con punto y coma (;) y lo que tienes en mysql_query no debe ir dentro de comillas
__________________
:.:Nano.:: @nano_hard - Retornando al foro

Etiquetas: informacion, 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 11:02.