PHP - selec dependiendo de casilla que no muestra nada

 
Vista:
Imágen de perfil de Eduardo
Val: 165
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

selec dependiendo de casilla que no muestra nada

Publicado por Eduardo (175 intervenciones) el 23/02/2023 16:43:11
Hola a todos espero estén todos super bien!!

tengo la siguiente pregunta tengo en un formulario que al hacer la consulta y dependiendo que se active o no una casilla festiv== sif o no se toma el $query2 correspondiente del If así:


1
2
3
4
5
if($festiv=="sif"){
$query2 = "SELECT * FROM escobitas WHERE fechaescobita BETWEEN '".$fecha1w."' AND '".$fecha2w."' AND municipioescobita='".$municipiow."' AND dia='DOMINGO'  AND festivo='SI' ORDER BY fechaescobita ASC, hora5 ASC";
}else{
$query2 = "SELECT * FROM escobitas WHERE fechaescobita BETWEEN '".$fecha1w."' AND '".$fecha2w."' AND municipioescobita='".$municipiow."' AND dia='DOMINGO' ORDER BY fechaescobita ASC, hora5 ASC";
}

pero a decir verdad (la primera) no me arroja nada por que me imagino yo no se esta cumpliendo con el AND ambas, uso OR pero no me respeta las fechas que están entre los BETWEEN...

es decir que si no se activa la casilla solo muestra los domingos (Funciona) pero al activar la casilla debería mostrarme los domingos (como esta) y adicional a esto los campos que estén guardados como Festivo SI en la BD.

alguna idea de como resolver esto!!!

Mil gracias...!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

selec dependiendo de casilla que no muestra nada

Publicado por Yamil Bracho (22 intervenciones) el 23/02/2023 16:49:08
Imprime el sql que esta en query para ver que se esta ejecutando

1
2
3
4
5
6
7
if($festiv=="sif"){
     $query2 = "SELECT * FROM escobitas WHERE fechaescobita BETWEEN '".$fecha1w."' AND '".$fecha2w."' AND municipioescobita='".$municipiow."' AND dia='DOMINGO'  AND festivo='SI' ORDER BY fechaescobita ASC, hora5 ASC";
} else {
$query2 = "SELECT * FROM escobitas WHERE fechaescobita BETWEEN '".$fecha1w."' AND '".$fecha2w."' AND municipioescobita='".$municipiow."' AND dia='DOMINGO' ORDER BY fechaescobita ASC, hora5 ASC";
}
 
echo $query2;

Copia ese SQL y prueba en tu cliente de la BD que estes usando y asi puedes ir haciendo los ajustes que necesites interactivamente dentro de la BD.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 165
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

selec dependiendo de casilla que no muestra nada

Publicado por Eduardo (175 intervenciones) el 23/02/2023 17:15:03
Hola, mil gracias por responder.. hice los que me pediste.. si coloco esta linea

1
SELECT * FROM `viajes2022` WHERE fecha_reporte BETWEEN '2022-10-01' AND '2023-02-23' AND festivo='SI' AND municipio='PLATO'

me arroja los resultados de los dias almacenados como festivos SI

festivos

Ahora si hago esta otra linea

1
SELECT * FROM `viajes2022` WHERE fecha_reporte BETWEEN '2022-10-01' AND '2023-02-23' AND dia='DOMINGO' AND municipio='PLATO'

me arroja los resultados solo mostrandome los dias Domingos:

DOMINGO

pero si intento combinar ambos es decir que me muestre los Domingos y los Festivos no me arroja nada


1
SELECT * FROM `viajes2022` WHERE fecha_reporte BETWEEN '2022-10-01' AND '2023-02-23' AND dia='DOMINGO' AND festivo='SI' AND municipio='PLATO'


COMBINADOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

selec dependiendo de casilla que no muestra nada

Publicado por Kathyu (905 intervenciones) el 23/02/2023 17:29:12
Y tienes un registro que cumpla con todo??

Porque acá:
63f790aebb82b-DOMINGO

No veo que festivo sea SI.

Quizás lo puedas hacer a la inversa, hacer un SELECT * FROM WHERE ID = XXX, donde ese XXX cumple con todo y luego hacer tu query tal cual lo planteas en el post.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 165
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

selec dependiendo de casilla que no muestra nada

Publicado por Eduardo (175 intervenciones) el 23/02/2023 17:37:09
No pues los festivos por lo general son días cualquiera excepto los Domingos... hay alguna manera de combinar aunque no se cumpla eso (todo como lo planteas) en vez de usar el AND (para que sea todo) lo intente usando OR pero el OR no respeta las fechas dadas ni el campo municipio

1
SELECT * FROM `viajes2022` WHERE fecha_reporte BETWEEN '2022-10-01' AND '2023-02-23' AND dia='DOMINGO' OR festivo='SI' AND municipio='PLATO'



OR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar