Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536

    paginazione che non va!

    Ciao

    Ho provato a paginare i dati di una query.
    Questo il codice

    Codice PHP:
    $scelta = $_POST['button'];
    if ($scelta == "lista"){

    include("dati.php");
    $link=mysql_connect("$db_host","$db_login","$db_pass")
    or die ("Non riesco a connettermi a [b]$db_host");

    mysql_select_db ($database, $link)
    or die ("Non riesco a selezionare il db $database
    ");

    if (($_REQUEST['clie']=="")&&($_REQUEST['firstinput']=="")&&($_REQUEST['secondinput']==""))
       {
     $tutto = "SELECT * FROM fatture ORDER BY data";
         }
         
          elseif (($_REQUEST['clie']!="")&&($_REQUEST['firstinput']=="")&&($_REQUEST['secondinput']=="")) 
         {
        $tutto = "SELECT * FROM fatture where id_cliente = '".$_REQUEST['clie']."' ORDER BY data"; 
         }
         
         elseif (($_REQUEST['clie']!="")&&($_REQUEST['firstinput']!="")&&($_REQUEST['secondinput']=="")) 
         {
         list($giorno,$mese,$anno) = split("/",$_REQUEST['firstinput']);
         $datain = mktime(0,0,0,$mese,$giorno,$anno);
         $tutto = "SELECT * FROM fatture where id_cliente = '".$_REQUEST['clie']."' and data >= '".$datain."' ORDER BY data"; 
         }
         
          elseif (($_REQUEST['clie']!="")&&($_REQUEST['firstinput']=="")&&($_REQUEST['secondinput']!="")) 
         {
         list($giorno,$mese,$anno) = split("/",$_REQUEST['secondinput']);
         $datafin = mktime(23,59,59,$mese,$giorno,$anno);
         $tutto = "SELECT * FROM fatture where id_cliente = '".$_REQUEST['clie']."' and data <= '".$datafin."' ORDER BY data"; 
         }
         
          elseif (($_REQUEST['clie']!="")&&($_REQUEST['firstinput']!="")&&($_REQUEST['secondinput']!="")) 
         {
         list($giorno,$mese,$anno) = split("/",$_REQUEST['firstinput']);
         $datain = mktime(0,0,0,$mese,$giorno,$anno);
         
         list($giorno,$mese,$anno) = split("/",$_REQUEST['secondinput']);
         $datafin = mktime(23,59,59,$mese,$giorno,$anno);
         
         $tutto = "SELECT * FROM fatture where id_cliente = '".$_REQUEST['clie']."' and data >= '".$datain."' and data <= '".$datafin."' ORDER BY data";
         }                
         
         elseif (($_REQUEST['clie']=="")&&($_REQUEST['firstinput']!="")&&($_REQUEST['secondinput']=="")) 
         {
         list($giorno,$mese,$anno) = split("/",$_REQUEST['firstinput']);
         $datain = mktime(0,0,0,$mese,$giorno,$anno);
         $tutto = "SELECT * FROM fatture where data >= '".$datain."' ORDER BY data";
         }  
         
          elseif (($_REQUEST['clie']=="")&&($_REQUEST['firstinput']=="")&&($_REQUEST['secondinput']!="")) 
         {
         list($giorno,$mese,$anno) = split("/",$_REQUEST['secondinput']);
         $datafin = mktime(23,59,59,$mese,$giorno,$anno);
         $tutto = "SELECT * FROM fatture where data <= '".$datafin."' ORDER BY data";
         }
         
          elseif (($_REQUEST['clie']=="")&&($_REQUEST['firstinput']!="")&&($_REQUEST['secondinput']!="")) 
         {
         list($giorno,$mese,$anno) = split("/",$_REQUEST['firstinput']);
         $datain = mktime(0,0,0,$mese,$giorno,$anno);
         
         list($giorno,$mese,$anno) = split("/",$_REQUEST['secondinput']);
         $datafin = mktime(23,59,59,$mese,$giorno,$anno);
         $tutto = "SELECT * FROM fatture where data >= '".$datain."'and data <= '".$datafin."' ORDER BY data";
         }                

    $righe_per_pagina = 5;
    if (!isset($_REQUEST['pagina'])) $pagina = 1;
    else {
        if ($_REQUEST['pagina'] <= 0) $pagina = 1;
        else $pagina = $_REQUEST['pagina'];
        }


        
     global $pagina, $righe_per_pagina;
        
    $query = mysql_query ($tutto,$link)
     or die ("Non riesco ad eseguire la richiesta $tutto");
     $totr=mysql_num_rows($query);
     
     // arrotonda al numero intero + alto
        $numero_pagine = ceil($totr/$righe_per_pagina);
        
    // calcola il numero della pagina corrente
        $pagina_corrente= ceil($pagina-1/$righe_per_pagina); 
                

     echo " <div align=center>[b]Pagina $pagina_corrente di $numero_pagine[/b]</div>

     [b]Numero fatture trovate: <font color=\"#FF0000\" size=\"5\"> ".$totr." </font>[/b] <a href=\"ricerca.php\">Ritorna al modulo</a>


     
     <table border=1 width=\"600\" cellspacing=\"0\" cellpadding=\"5\"><tr>
      <td width='80' align='center'>[b]Fattura N°[/b]</td>
      <td width='150' align='center'>[b]Data[/b]</td>
      <td width='250' align='center'>[b]Cliente[/b]</td>
      <td width='120'align='center'>[b]Dettagli[/b]</td></tr></table>
    ";
     
    $tutto.=" LIMIT ".(($pagina-1)*$righe_per_pagina).", ".$righe_per_pagina;
    $querylim = mysql_query ($tutto,$link)
     or die ("Non riesco ad eseguire la richiesta $tutto");    
     if (mysql_num_rows($querylim) > 0) {
    while( $row = mysql_fetch_array($querylim) )
       {
       $cust = $row["id_fattura"];
       
       $querycust = mysql_query("SELECT * FROM clientidb JOIN fatture ON clientidb.id_user=fatture.id_cliente
       WHERE fatture.id_fattura = $cust",$link);
       
       while( $rowcust = mysql_fetch_array($querycust) )
    {
       $cognome_cliente = $rowcust["cognome"];
       $nome_cliente    = $rowcust["nome"];
      }
    ?>
    <html>
    <script type="text/javascript">
    function PopupCentrata(dest_url) {
        var w = 600;
        var h = 800;
        var l = Math.floor((screen.width-w)/2);
        var t = Math.floor((screen.height-h)/2);
        window.open(dest_url, "nome_finestra", "width=" + w + ",height=" + h + ",top=" + t + ",left=" + l);
    }
    </script>  
    </html>
    <?   
    echo "
    <table border=0 width=\"600\" cellspacing=\"3\"><tr>
      <td width='80' align='right'>[b]
    $row[numero_fatt][/b]</td>
      <td width='150' align='center'>[b]"
    .date("d/m/y"$row['data'])."[/b]</td>
      <td width='125' align='left'>[b] 
    $cognome_cliente[/b]</td>
      <td width='125' align='left'>[b] 
    $nome_cliente[/b]</td>
      <td width='120'align='center'>[b]<a href=\"#\" onClick=\"PopupCentrata('filmato.php?variabile=
    $cust')\">Visualizza</a>[/b]</td>
      </tr>
      </table>"

     }
     
     echo 
    $_REQUEST['id_user'];
      
     echo 
    "<center>
    "
    ;
     if (
    $numero_pagine 1) {
    //inizio della condizione per creare l'elenco delle pagine
    for ($pag 1$pag <= $numero_pagine$pag++) {
    echo 
    "[&nbsp<a href=?";
    echo 
    "pagina=".($pag).
    " title=\"Vai a pagina $pag\">".$pag."</a>&nbsp]&nbsp";
     }
    // fine "elenco"

    echo "</center>";

     }
      } 
      
     
      
      
      if (
    $scelta == "stat"){

    .................

    In pratica appena apro la pagina visualizzo i primi 5 record, ma se clicco sui link 1 o 2 (in questo caso per visualizzare i restanti 5 record visto che nel db ce ne sono 10 o per tornare indietro) mi ritrovo con una pagina bianca.

    Potete aiutarmi a capire dove sbaglio?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536
    aiuto ragazzi!

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.