primero esta seria mi consulta para cuando no hay datos sin filtrar
Código PHP:
$sql_query='SELECT DISTINCT(promedio),id_granja FROM servicios';
aqui viene el primer dato de mi select y de acuerdo a lo recibido genero el primer filtro de mi consulta
Código PHP:
if(!isset($_POST['year'])){
$year = '2013'; // si no recibo nada, asigno el año actual
$sql_query .= ' WHERE YEAR(servicios.semana)=' . $year;
}
else {
$year = $_POST['year']; // si existe asigno el año para realizar el filtro.
$sql_query .= ' WHERE YEAR(servicios.semana)=' . $year;
}
aqui mi segundo valor recibido por el segundo select
Código PHP:
if(!isset($_POST['month']))
$month = '0';
else{
$month = $_POST['month'];
$sql_query .= ' AND MONTH(servicios.semana)=' . $$month;
}
Código PHP:
$result = $mysqli->query($sql_query)or die(mysql_error());
y nunca me arroja nada la consulta
el forma quedaría asi.
Código:
El archivo servicios.php es el mismo se los pongo para que vean como lo tengo<div id="filtros"> <form name='filtros' method="post" action="servicios.php"> <label>Mes :</label> <select name="month" size="1"> <option value="0">- Sin Filtrar -</option> <option value="1">Enero</option> <option value="2">Febrero</option> <option value="3">Marzo</option> <option value="4">Abril</option> <option value="5">Mayo</option> <option value="6">Junio</option> <option value="7">Julio</option> <option value="8">Agosto</option> <option value="9">Septiembre</option> <option value="10">Octubre</option> <option value="11">Noviembre</option> <option value="12">Diciembre</option> </select> <label>Año</label> <select name="year" size="1"> <option value="2013">2013</option> <option value="2012">2012</option> <option value="2011">2011</option> <option value="2010">2010</option> </select> <input type="submit" name="Enviar" value="Actualizar" /> </form>
Código PHP:
<?php
//datos de conexion
//Primero leemos los datos enviados
//por el formulario
$sql_query='SELECT DISTINCT(promedio),id_granja FROM servicios';
if(!isset($_POST['year'])){
$year = '2013';
$sql_query .= ' WHERE YEAR(servicios.semana)=' . $year;
}
else {
$year = $_POST['year'];
$sql_query .= ' WHERE YEAR(servicios.semana)=' . $year;
}
if(!isset($_POST['month']))
$month = '0';
else{
$month = $_POST['month'];
$sql_query .= ' AND MONTH(servicios.semana)=' . $$month;
}
//echo $year.'<br>'.$month.'<br>'.$sql_query.'<br>';
/* conexion a la BD */
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$result = $mysqli->query($sql_query)or die(mysql_error());
//procedimiento para los datos de mi consulta...
?>
<html>
<head>
//cabecera js, etc
</head>
<body>
<div id="filtros">
<form name='filtros' method="post" action="servicios.php">
<label>Mes :</label>
<select name="month" size="1">
<option value="0">- Sin Filtrar -</option>
<option value="1">Enero</option>
<option value="2">Febrero</option>
<option value="3">Marzo</option>
<option value="4">Abril</option>
<option value="5">Mayo</option>
<option value="6">Junio</option>
<option value="7">Julio</option>
<option value="8">Agosto</option>
<option value="9">Septiembre</option>
<option value="10">Octubre</option>
<option value="11">Noviembre</option>
<option value="12">Diciembre</option>
</select>
<label>Año</label>
<select name="year" size="1">
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
</select>
<input type="submit" name="Enviar" value="Actualizar" />
</form>
</div>
<div>
//muestro de forma ordenada mi consulta, ya sea en una tabla etc...
</div>
</body>
</html>