Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta a MYSQL con condicionales en PHP

Estas en el tema de Consulta a MYSQL con condicionales en PHP en el foro de PHP en Foros del Web. muy buenos dias, tengo una duda muy grande, yo tengo las siguientes variables $consecutivo=$_POST['consecutivo']; $modelo=$_POST['modelo']; $fecha1 = $_POST['fecha1']; $fecha2 = $_POST['fecha2']; estos valores los manda ...
  #1 (permalink)  
Antiguo 26/08/2013, 09:05
 
Fecha de Ingreso: agosto-2013
Mensajes: 99
Antigüedad: 10 años, 7 meses
Puntos: 3
Pregunta Consulta a MYSQL con condicionales en PHP

muy buenos dias, tengo una duda muy grande, yo tengo las siguientes variables

$consecutivo=$_POST['consecutivo'];
$modelo=$_POST['modelo'];
$fecha1 = $_POST['fecha1'];
$fecha2 = $_POST['fecha2'];

estos valores los manda un usuario para hacer unos filtros pero son opcionales... osea puede que consecutivo este vació pero modelo y las dos fechas estén llenas ese tipo de combinaciones y tengo la siguiente consulta.

$seleccion = mysqli_query($conexion,"SELECT * FROM datosfijos WHERE

id='".$consecutivo."' AND modelo='".$modelo."'
AND fecha >= '".$fecha1."' AND fecha <= '".$fecha2."'
");

La verdad eso me funciona.... y me trae los filtros ... lo que pasa es que si algún campo queda vació obvio no me va traer la consulta ..... lo que necesito es crear un condicional algo como asi que me puse a inventar pero no me funciona

$seleccion = mysqli_query($conexion,"SELECT * FROM datosfijos WHERE

IF('".$consecutivo."' != ''){id='".$consecutivo."'} // si consecutivo es diferente de vacio seleccioneme de la base de datos donde id sea igual a consecutivo
");

como puedo hacer esos condicionales ahi adentro? ... estuve buscando pero esa documentación la veo indescifrable
  #2 (permalink)  
Antiguo 26/08/2013, 11:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: MYSQL con condicionales

lilmaster,
este es un tema muy frecuente en el foro, pero en realidad es un tema de programación. Dependiendo de lo que envíe tu formulario, montarás la cadena de consulta. Pide ayuda en el foro PHP. Piensa que si consecutivo queda vacío, de acuerdo con eso, no añadirás al filtro nada que tenga que ver con consecutivo. Esa es la idea. Pide ayuda en el otro foro.
  #3 (permalink)  
Antiguo 26/08/2013, 11:15
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: MYSQL con condicionales

Hola lilmaster:

en primer lugar, NO INCLUYAS CÓDIGO DE PHP ni de ningún otro lenguaje de programación en este foro, está prohibido y te expones a que los administradores editen tu mensaje o incluso lo borren por incurrir en esta práctica, ojo con eso.

en segundo, Si ya estás utilizando un lenguaje de programación, por qué no utilizas este mismo lenguaje para hacer tus condiciones... es decir, lo que tratas de hacer no se puede hacer en MySQL, pero con PHP o cualquier lenguaje de programación resulta bastante simple, básicamente lo que harías es :

Código:
CONSULTA = "SELECT * FROM datosfijos WHERE"

SI consecutivo != NULL
CONSULTA = CONSULTA + " id = " + consecutivo + " AND "

SI modelo != NULL
CONSULTA = CONSULTA + " modelo = " + modelo+ " AND "

.....
es decir, vas construyendo tu consulta en una variable... el único cuidado es que debes tener cuidado con los AND's... como tip, puedes agregar una condición 1=1 al final, así no te preocupas por este detalle, así:

Código MySQL:
Ver original
  1. SELECT campo FROM tabla WHERE campo = 1;

es exactamente lo mismo que poner:

Código MySQL:
Ver original
  1. SELECT campo FROM tabla WHERE campo = 1 AND 1 = 1;

Saludos
Leo.
  #4 (permalink)  
Antiguo 26/08/2013, 11:17
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consula a MYSQL con condicionales en PHP

Jejejejeje, Ahora fue jurena quien me ganó la respuesta.

Saludos
Leo.
  #5 (permalink)  
Antiguo 26/08/2013, 11:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta a MYSQL con condicionales en PHP

Movido a PHP para verificar si el fallo está allí.
Los moderadores de PHP lo devolverán de ser necesario.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 26/08/2013, 12:49
 
Fecha de Ingreso: agosto-2013
Mensajes: 99
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: Consulta a MYSQL con condicionales en PHP

Muchas gracias leonardo_josue y perdon por ser tan novato en el foro :$
  #7 (permalink)  
Antiguo 26/08/2013, 13:01
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Consulta a MYSQL con condicionales en PHP

Sigue este hilo, le di una respuesta muy específica pero puedes adaptarlo a tu necesidad..


http://www.forosdelweb.com/f18/busqu...mysql-1042912/
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #8 (permalink)  
Antiguo 26/08/2013, 15:32
 
Fecha de Ingreso: agosto-2013
Mensajes: 99
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: Consulta a MYSQL con condicionales en PHP

Loncho me toco modificar algunas cosas para que me funcionara, pero me diste toda la logica con ese ejemplo muchas gracias

Etiquetas: condicionales, mysql, mysql+consulta
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 06:45.