Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/05/2005, 00:24
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Hola... disculpa la demora...
Es cierto, si utilizas correctamente el array $_pagi_propagar no tendrás problemas.
Ya he explicado varias veces (y por los posts que citas, supongo que has leído) que cuando hacemos submit en el form (método POST) se ejecuta el script que has hecho (donde utilizas Paginator) y toma las variables en el superglobal $_POST.
Pero Paginator propaga las variables por el url (método GET)... o sea que cuando haces clic en un enlace de página, el script deberá leer las variables desde el superglobal $_GET.
Lo que debes hacer ya lo has mencionado túmismo:
- Declaras el array $_pagi_propagar = array('diaid', 'mesid', 'anoid');
- Leer del superglobal $_POST si existe, y si no, leer desde el $_GET.
Código PHP:
if(isset($_POST['variable'])){
   
$var$_POST['variable'];
}else{
   
$var$_GET['variable'];

Debes hacer las dos cosas: decir qué variables propagar y preparar al script para que lea de $_POST o $_GET según el caso.

Tu script quedaría así:
Código 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 = isset($_POST['diaid'])?$_POST['diaid']:$_GET['diaid'];
    
$mesid = isset($_POST['mesid'])?$_POST['mesid']:$_GET['mesid'];
    
$anoid = isset($_POST['anoid'])?$_POST['anoid']:$_GET['anoid'];
    
    
$select1 ' SELECT diaid, mesid, anoid';
    
$from1   ' FROM dias, meses, anos';
    
$where1  ' WHERE 1=1';
    
    if (
$diaid != '') { // An author is selected
        
$where1 .= " AND diaid = '$diaid'";
    }
    
    if (
$mesid != '') { // An author is selected
        
$where1 .= " AND mesid = '$mesid'";
    }
    
    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 $diaid;
    if (
$dia != '') { // An author is selected
        
$where .= " AND id_dia='$dia'";
    }
    
    
$mes $mesid;
    if (
$mes != '') { // An author is selected
        
$where .= " AND id_mes='$mes'";
    }
    
    
$ano $anoid;
    if (
$ano != '') { // An author is selected
        
$where .= " AND id_ano='$ano'";
    }

?>
Todo el resto sigue igual.
Saludos