Código PHP:
<?php
echo '<form action="" method="get" name="ver_prog">
<div class="form-group">
<input autofocus name="fecha" type="date" class="form-control" id="exampleInputEmail2" >
</div>
<div>
<input type="submit" value="filtrar">
</div>
</form>
<br/>
<div class="row">'; //hasta aquí envío $fecha a esta misma página
if (!empty($_GET['fecha'])) {
$fecha = $_GET['fecha'];
}else{
$fecha = date("d-m-Y");
} //si no he recibido $fecha que me coloque la fecha de hoy
function mostrarselect2($fecha,) //la función que filtra la tabla recibe $fecha
{
echo "
<div class='table-responsive'>
<table class='table table-bordered table-condensed' border='1px'>
<tr>
<!--<th>ID</th>
<th>Fecha orig</th>
<th>Reprog?</th>
<th>Fecha reprog</th>-->
<th>#</th>
<th><a href='?set=cc'>CC</a></th>
<th><a href='?set=cv'>CV</a></th>
<th><a href='?set=cl'>Cliente</a></th>
<th><a href='?set=pd'>Pedido</a></th>
<th><a href='?set=idp'>ID PROD</a></th>
<th>Observaciones</th>
<th><a href='?set=nu'>Copias</a></th>
<th><a href='?set=fab'>Fabricandose?</a></th>
<th><a href='?set=fin'>Finalizado?</a></th>
<th><a href='?set=dfin'>Fecha finalizado</a></th>
<th><img src='img/edit.png'></th>
<th><img src='img/delete.png'></th>
</tr><tr><td colspan='18'></td></tr>"; //en cada table head creo un get para luego organizar por columna
include("_conexion.php");
$query = "SELECT * FROM tab_produccion WHERE date_prod_final = '".$fecha."'";
if (isset($_GET['set']) && !empty($_GET['set']))
{
if ($_GET['set'] == 'cc')
{
$query .= " ORDER BY id_cliente";
}
elseif ($_GET['set'] == 'cv')
{
$query .= " ORDER BY id_vendedor";
}
elseif ($_GET['set'] == 'cl')
{
$query .= " ORDER BY nom_cliente";
}
elseif($_GET['set'] == 'pd')
{
$query .= " ORDER BY id_pedido";
}
elseif($_GET['set'] == 'idp')
{
$query .= " ORDER BY cod_prod";
}
elseif($_GET['set'] == 'nu')
{
$query .= " ORDER BY copias DESC";
}
elseif($_GET['set'] == 'fab')
{
$query .= " ORDER BY bol_enviada";
}
elseif($_GET['set'] == 'fin')
{
$query .= " ORDER BY bol_realizada";
}
elseif($_GET['set'] == 'dfin')
{
$query .= " ORDER BY date_realizada";
} //aqui estan las opciones del GET para poder filtrar cada columna de acuerdo a la opción
}
//------>>>> Al terminar la inclusion de el get para el set se procede a consultar
$produccion = pg_query($conexion,$query) or die('La consulta falló: '.pg_last_error());
while ($produccion_f = pg_fetch_array($produccion)) {
EXPLICACIÓN DEL CÓDIGO:
1. Por GET le digo a la tabla que me filtre X fecha de una consulta SQL.
Luego esta variable de fecha me activa o modifica la funcion() php que muestra la tabla filtrada por fecha.
2. Por otro GET directamente en cada <th> (table head) intento organizar otra clausula por SQL GROUP BY para short a esa tabla que vemos por php.
EL PROBLEMA:
Puedo filtrar o puedo hacer short by, pero no las dos al mismo tiempo.
EL RESULTADO DE ESE PROBLEMA:
Cuando mando el segundo GET que me short by alguna de las columnas, se pierde la primera variable que es la de la fecha lo cual no quiero que suceda.
QUE SOLUCIONES HE INTENTADO:
Intente incluso al final guardar $fecha en una variable $_SESSION['fecha'], pero no me la almacena, simplemente al hacer cualquier GET para el short by se pierde automaticamente la variable $fecha o $_SESSION...
Agradezco sus ayudas, a proposito he mirado otros temas aqui en Foros del Web, pero ninguno ha dado un ejemplo lo mas cercano posible a mi problema.