Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    problema con paginazione

    Salve a tutti,

    ho fatto u nmotore di ricerca per intervallo di date che mi pagina i risultati a 10 per pagina.
    Il motore funziona, nel senso che nella prima pagina mi estrae i risultati e mi dice quante pagine occupano.

    Il problema è che poi navigando nella paginazione già del primo click spariscono i dati e mi dice pagina 0 di 0...

    Non capisco se sbaglio a passare i valori...

    posto il codice:

    Codice PHP:
     <?php
    $login
    =$_SESSION['login'];
    $numero=$_REQUEST['numero'];
    $da_data=$_REQUEST['da_data'];
    $a_data=$_REQUEST['a_data'];
    list(
    $giorno$mese$anno) = explode('/'$_POST['data_da']); 
    $da_data "$anno-$mese-$giorno"
    list(
    $giorno1$mese1$anno1) = explode('/'$_POST['data_a']); 
    $a_data "$anno1-$mese1-$giorno1"
    echo 
    "
    Data da: 
    $_POST[data_da] a $da_data
    "

    echo 
    "
    Data a: 
    $_POST[data_a] a $a_data
    "

    echo 
    '<div align="center"> ';
      echo 
    '<center> ';
      echo 
    '<table border="0" width="845" height="17" background="backtable.jpg" bordercolorlight="#000080">';
        echo 
    '<tr>';
          echo 
    '<td width="30" height="17" align="left">[b]<font face="Arial" size="2" color="#032D4E"></font>[/b]</td>';
          echo 
    '<td width="55" height="17" align="left">[b]<font face="Arial" size="2" color="#032D4E">Numero</font>[/b]</td>';
          echo 
    '<td width="82" height="17" align="left">[b]<font face="Arial" size="2" color="#032D4E">Data</font>[/b]</td>';
          echo 
    '<td width="217" height="17" align="left">[b]<font face="Arial" size="2" color="#032D4E">Oggetto</font>[/b]</td>';
          echo 
    '<td width="137" height="17" align="left">[b]<font face="Arial" size="2" color="#032D4E">Tipologia</font>[/b]</td>';
          echo 
    '<td width="238" height="17" align="left">[b]<font face="Arial" size="2" color="#032D4E">Sezione competente</font>[/b]</td>';
        echo 
    '</tr>';
      echo 
    '</table>';
      echo 
    '</center>';
    echo 
    '</div>';
    // connessione al database
    mysql_connect("localhost""utente""password") or die("Connessione fallita !");
    // selezione del DB
    mysql_select_db("db") or die("Selezione del DB fallita !");
    // esecuzione prima query
    $count mysql_query("SELECT COUNT(numero) FROM determinazioni where giorno BETWEEN '$da_data' AND '$a_data'");
    $res_count mysql_fetch_row($count);
    // numero totale di records
    $tot_records $res_count[0];
    // risultati per pagina(secondo parametro di LIMIT)
    $per_page 10;
    // numero totale di pagine
    $tot_pages ceil($tot_records $per_page);
    // pagina corrente
    $current_page = (!$_GET['page']) ? : (int)$_GET['page'];
    // primo parametro di LIMIT
    $primo = ($current_page 1) * $per_page;
    echo 
    "<div align=\"center\">\n<table>\n";
    // esecuzione seconda query con LIMIT
    $query_limit mysql_query("SELECT id, numero, colore, tipologia, oggetto, sezione, DATE_FORMAT(giorno,'%d/%m/%Y') as data FROM determinazioni where giorno BETWEEN '$da_data' AND '$a_data
     ORDER BY id DESC LIMIT 
    $primo$per_page");
    while(
    $results mysql_fetch_array($query_limit))

    {
    echo 
    '<div align="center">';
      echo 
    '<center>';
      echo 
    '<table border="0" width="845" height="18">';
        echo 
    '<tr>';
    echo 
    '<td width="30" height="17" style="border: 1 solid #032D4E">';
            echo 
    '<p align="center">';

          echo 
    '<td width="55" height="17" style="border: 1 solid #032D4E">';
            echo 
    '<p align="center"><font face="Arial" size="2">';
    print (
    $results['numero']);
      echo 
    '<td width="82" height="17" style="border: 1 solid #032D4E align="center"><font face="Arial" size="2">';
    print (
    $results['data']);
          echo 
    '<td width="217" height="17" style="border: 1 solid #032D4E align="center"><font face="Arial" size="2">';
    print (
    $results['oggetto']);
          echo 
    '<td width="137" height="17" style="border: 1 solid #032D4E align="center"><font face="Arial" size="2">';
    print (
    $results['tipologia']);
    echo 
    '<td width="238" height="17" style="border: 1 solid #032D4E align="center"><font face="Arial" size="2">';
    print (
    $results['sezione']);
    echo 
    '</font></td>';
        echo 
    '</tr>';
      echo 
    '</table>';
      echo 
    '</center>';
    echo 
    '</div>';

    $paginazione "Pagine totali: " $tot_pages "
    ["
    ;
    for(
    $i 1$i <= $tot_pages$i++) {
    if(
    $i == $current_page) {
    $paginazione .= $i " ";
    } else {
    $paginazione .= "<a href=\"?page=$i&da_data=$da_data&a_data=$a_data\" title=\"Vai alla pagina $i\">$i</a> ";
    }
    }
    $paginazione .= "]";
    echo 
    $paginazione";
    }
    mysql_close();
    ?>
    Grazie a chi vorrà aiutarmi

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    ho sbagliato a copiare..

    Scusate, nel codice qui sopra la graffa del while si chiude PRIMA della paginazione, ovviamente...

    ho sbagliato a scrivere...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    risolto

    Ho risolto...

    Ovviamente dovevo sostitiure ('/', $_POST['data_da']);
    con ('/', $_REQUEST['data_da']);
    e ('/', $_POST['data_a']);
    con ('/', $_REQUEST['data_a']);



Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.