En su función de listar los resultados funciona perfecto pero al pasar las variables para recordar la búsqueda, tengo dos problemas:
Cita:
1. Cuando buscas por fecha, los resultados de inicio corresponden a la búsqueda pero al dar click en siguiente o en anterior, se cargan todas las noticias de la base de datos y se pierde la consulta inicial.
2. Al buscar por fecha arriba de los resultados aparece un menú de salto con la fecha que elegiste, para indicar a los usuarios de cuando son los resultados que buscaron. Pero de igual manera, aunque de inicio muestra la fecha correspondiente a la búsqueda, al dar click en siguiente o en anterior se desconfigura este calendario.
2. Al buscar por fecha arriba de los resultados aparece un menú de salto con la fecha que elegiste, para indicar a los usuarios de cuando son los resultados que buscaron. Pero de igual manera, aunque de inicio muestra la fecha correspondiente a la búsqueda, al dar click en siguiente o en anterior se desconfigura este calendario.
Cita:
ALGUNAS DE LAS COSAS QUE HE INTENTADO PARA RESOLVERLOEjemplo de los 2 Problemas:
http://www.ideasenred.com.mx/duda/busqueda.php
Metánse a esa dirección y traten de buscar los resultados de Febrero del 2004 (sin eleigr el día). Deben de salir 7 resultados llamados Prueba 01 Febrero 2004, Prueba 02 Febrero 2004, ....etc). En un inicio aparecen y corresponden a la búsqueda, pero den click en siguiente y luego en anterior; y verán que tanto la búsqueda como el calendario de arriba se desconfiguran.
http://www.ideasenred.com.mx/duda/busqueda.php
Metánse a esa dirección y traten de buscar los resultados de Febrero del 2004 (sin eleigr el día). Deben de salir 7 resultados llamados Prueba 01 Febrero 2004, Prueba 02 Febrero 2004, ....etc). En un inicio aparecen y corresponden a la búsqueda, pero den click en siguiente y luego en anterior; y verán que tanto la búsqueda como el calendario de arriba se desconfiguran.
En este foro y en la sección de comentarios de la página de Paginator 1.6 hay algunas sugerencias a problemas relacionados, pero no he logrado solucionarlo. Lo que he hecho es lo siguiente:
Cita:
EL CÓDIGO ES EL SIGUIENTEa) Declarar las variables de la siguiente manera $_pagi_propagar = array('diaid', 'mesid', 'anoid');
b) Cambiar $_POST de estas variables por $GLOBALS
c) Cambiar las variables de $_POST a $_GET de la siguiente manera:
if(isset($_POST['variable'])){
$var= $_POST['variable'];
}else{
$var= $_GET['variable'];
}
b) Cambiar $_POST de estas variables por $GLOBALS
c) Cambiar las variables de $_POST a $_GET de la siguiente manera:
if(isset($_POST['variable'])){
$var= $_POST['variable'];
}else{
$var= $_GET['variable'];
}
Formulario de Búsqueda-----------
Código PHP:
<td height="96" align="center" valign="top" class="sangriaA5"><!-- Este el CALENDARIO de búsqueda -->
<form method="POST" action="resultadosbusqueda.php">
<p>
<!-- Buscar por Día -->
<select name="diaid">
<option value = "">----</option>
<?php
while ($dia = mysql_fetch_array($dias)) {
$diaid = $dia['diaid'];
echo "<option value='$diaid'>$diaid</option>\n";
}
?>
</select>
<!-- Buscar por Mes -->
<select name="mesid">
<option value = "">----------------</option>
<?php
while ($mes = mysql_fetch_array($meses)) {
$mesid = $mes['mesid'];
$mesnom = $mes['mes1'];
echo "<option value='$mesid'>$mesnom</option>\n";
}
?>
</select>
<!-- Buscar por Año -->
<select name="anoid">
<option value = "">------</option>
<?php
while ($ano = mysql_fetch_array($anos)) {
$anoid = $ano['anoid'];
$anonum = $ano['ano'];
echo "<option value='$anoid'>$anonum</option>\n";
}
?>
</select>
</p>
<p>
<input name="submit" type="submit" id="submit" value="Buscar">
</p>
</form></td>
Código PHP:
<?php
// incluye archivos para conectarse a la Base de Datos
include('config/confbd.php');
include('config/conectarbd.php');
include('config/queries_prensa.php');
?>
<?php
//CALENDARIO: Permite que la fecha utilizada para buscar la base de datos se siga viendo en el calendario de esta página. Ejemplo: si buscaste 26 Febrero 2005 en subpagina.php entonces una vez que los resultados se muestren en subpagina6busqueda.php, el calendario de esta página seguira mostrando 26 Febrero 2005. Lo mismo si sólo buscaste por mes y/o año.
$diaid = $_POST['diaid'];
$mesid = $_POST['mesid'];
$anoid = $_POST['anoid'];
$select1 = ' SELECT diaid, mesid, anoid';
$from1 = ' FROM dias, meses, anos';
$where1 = ' WHERE 1=1';
$diaid = $_POST['diaid'];
if ($diaid != '') { // An author is selected
$where1 .= " AND diaid = '$diaid'";
}
$mes = $_POST['mesid'];
if ($mesid != '') { // An author is selected
$where1 .= " AND mesid = '$mesid'";
}
$ano = $_POST['anoid'];
if ($anoid != '') { // An author is selected
$where1 .= " AND anoid = '$anoid'";
}
$query = ($select1 . $from1 . $where1);
$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());
$row = mysql_fetch_object($result);
// BUSQUEDA: Este script permite obtener la lista de noticias (por título) en la base de datos, a partir de la búsqueda por dia, mes y/o año realizada en subpagina.php
$select = ' SELECT id, titulo';
$from = ' FROM p_documentos';
$where = ' WHERE 1=1';
$order = ' ORDER BY id_ano desc, id_mes desc, id_dia desc';
$dia = $_POST['diaid'];
if ($dia != '') { // An author is selected
$where .= " AND id_dia='$dia'";
}
$mes = $_POST['mesid'];
if ($mes != '') { // An author is selected
$where .= " AND id_mes='$mes'";
}
$ano = $_POST['anoid'];
if ($ano != '') { // An author is selected
$where .= " AND id_ano='$ano'";
}
?>
<tr>
<td height="34" align="center" valign="top" class="sangriaA5">
<!-- Este es el calendario -->
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select name="diaid">
<option value = "">----</option>
<?php
while ($dia = mysql_fetch_object($dias)) {
if ($diaid != '') {
if ($dia->diaid == $row->diaid) {
echo "<option selected='selected' value='$dia->diaid'>$dia->diaid</option>\n";
//Quita esta parte si sólo quieres ver el DIA utilizado para buscar la base de datos (cuidado con el } final)
} else {
echo "<option value='$dia->diaid'>$dia->diaid</option>\n";
}
}
}
?>
</select>
<select name="mesid">
<option value = "">----------------</option>
<?php
while ($mes = mysql_fetch_object($meses)) {
if ($mesid != '') {
if ($mes->mesid == $row->mesid) {
echo "<option selected='selected' value='$mes->mesid'>$mes->mes1</option>\n";
//Quita esta parte si sólo quieres ver el MES utilizado para buscar la base de datos (cuidado con el } final)
} else {
echo "<option value='$mes->mesid'>$mes->mes1</option>\n";
}
}
}
?>
</select>
<select name="anoid">
<option value = "">------</option>
<?php
while ($ano = mysql_fetch_object($anos)) {
if ($anoid != '') {
if ($ano->anoid == $row->anoid) {
echo "<option selected='selected' value='$ano->anoid'>$ano->ano</option>\n";
//Quita esta parte si sólo quieres ver el AÑO utilizado para buscar la base de datos (cuidado con el } final)
} else {
echo "<option value='$ano->anoid'>$ano->ano</option>\n";
}
}
}
?>
</select>
</form></td>
<td> </td>
</tr>
<tr>
<td height="261" valign="top" class="sangriaA5">
<?php
//Sentencia sql (sin limit)
$_pagi_sql = ($select . $from . $where . $order);
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 3;//Elegí un número pequeño para que se generen varias páginas
//cantidad de enlaces que se mostrarán como máximo en la barra de navegación
$_pagi_nav_num_enlaces = 3;//Elegí un número pequeño para que se note el resultado
//Decidimos si queremos que se muesten los errores de mysql
$_pagi_mostrar_errores = false;//recomendado true sólo en tiempo de desarrollo.
//Si tenemos una consulta compleja que hace que el Paginator no funcione correctamente,
//realizamos el conteo alternativo.
$_pagi_conteo_alternativo = true;//recomendado false.
//Supongamos que sólo nos interesa propagar estas dos variables
$_pagi_propagar = array('diaid', 'mesid', 'anoid');//No importa si son POST o GET
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("pagination/paginator.inc.php");
//Incluimos la información de la página actual
echo"<p>Noticias ".$_pagi_info."</p>";
//Leemos y escribimos los registros de la página actual
while($row = mysql_fetch_array($_pagi_result)){
?>
<p><strong><a href="#self" onClick="MM_openBrWindow('usuario/documento_prensa.php?id=<?php echo $row['id']; ?>','','toolbar=yes,status=yes,scrollbars=yes,resizable=yes,width=650,height=550')"><?php echo $row['titulo']; ?></a></strong><br />
<span class="Estilo1">Aquí va la fecha</span></p>
<?php
}
//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";
?>
</td>
<td> </td>
</tr>