validar variables post generar query
Publicado por Lrz (26 intervenciones) el 03/03/2017 21:53:01
Hola buen Dia, He estado Generando reportes en php y mysql y hasta el momento no habia falla pero me surgio el siguiente problema
Tengo un formulario html que envia los datos a un archivo pdf_blanco.php y este los recibe con el metodo POST para imprimir los datos requeridos en un pdf , en una consulta sencilla si me lo genera pero son 3 datos losque ingresa el usuario pero puede ser uno solo de ellos o 2 de ellos o los 3 en si tienen que ser las combinaciones posibles , habia visto una forma en cuanto condicionar el "WHERE" y este iria cambiando dependiendo lo que ingrese pero no me ha resultado este es mi codigo
La primera condicion si me funciona cuando es con el campo matricula , pero cuando interactuo con "ciclo" o "pago" no me manda los datos me manda un reporte vacio , Lo curioso del caso es que esos mismos POST los utilizo tambien para imprimir dentro del reporte y se ve que el dato enviado por el formulario aparece , entonces lo unico que me hace pensar es que las condiciones del Query no son las correctas , Espero me puedan ayudar Gracias
Tengo un formulario html que envia los datos a un archivo pdf_blanco.php y este los recibe con el metodo POST para imprimir los datos requeridos en un pdf , en una consulta sencilla si me lo genera pero son 3 datos losque ingresa el usuario pero puede ser uno solo de ellos o 2 de ellos o los 3 en si tienen que ser las combinaciones posibles , habia visto una forma en cuanto condicionar el "WHERE" y este iria cambiando dependiendo lo que ingrese pero no me ha resultado este es mi codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ciclo = $_POST["ciclo"];
$matricula = $_POST["matricula"];
$pago = $_POST["pago"];
//Condiciones en caso de que algun campo este vacio y juegue con la condicion WHERE
if (empty($_POST["ciclo"]))
{
$where = "WHERE proveedores LIKE '".$matricula."' ORDER BY cxl ASC";
}else if(empty($POST["pago"])){
$where = "WHERE proveedores LIKE '".$matricula."' AND ciclo = '".$ciclo."' ORDER BY cxl ASC";
}else if(empty($POST["matricula"])){
$where = "WHERE ciclo LIKE '".$ciclo."' AND concepto = '".$pago."' ORDER BY cxl ASC";
}
$sql = "SELECT * FROM retensiones $where";
$result = $mysqli->query($sql);
La primera condicion si me funciona cuando es con el campo matricula , pero cuando interactuo con "ciclo" o "pago" no me manda los datos me manda un reporte vacio , Lo curioso del caso es que esos mismos POST los utilizo tambien para imprimir dentro del reporte y se ve que el dato enviado por el formulario aparece , entonces lo unico que me hace pensar es que las condiciones del Query no son las correctas , Espero me puedan ayudar Gracias
Valora esta pregunta
0