Visualizzazione dei risultati da 1 a 4 su 4

Discussione: paginazione e session

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

    paginazione e session

    Ho il millesimo problema...

    Ho creato una pagina con una connessione ad un db mysql che pagina i risultati a dieci per volta.

    Fin qui tutto bene.

    Il fatto è che io passo un valore ('codice') con una session e vorrei che la riga della tabella che lo contiene avesse il primo campo con sfondo colorato, per evidenziare il dato...

    Dunque: la prima pagina funziona bene, ma appena scorro le pagine della paginazione, IL VALORE DELLA SESSION SI PERDE e diventa vuoto, cosicché lui mi colora tutte le righe che contengono valori vuoti per quel campo!!!

    Dove sbaglio e (soprattutto) come posso rimediare???

    Ecco il codice e grazie a tutti:

    Franz




    <?php

    session_start();

    echo '<div align="center"> ';
    echo '<center> ';
    echo '<table border="1" width="772" height="17" background="../gare/backtable.jpg" bordercolorlight="#000080">';
    echo '<tr>';
    echo '<td width="55" height="17" align="left"><font face="Arial" size="2" color="#032D4E">Numero</font></td>';
    echo '<td width="82" height="17" align="left"><font face="Arial" size="2" color="#032D4E">Data</font></td>';
    echo '<td width="217" height="17" align="left"><font face="Arial" size="2" color="#032D4E">Oggetto</font></td>';
    echo '<td width="137" height="17" align="left"><font face="Arial" size="2" color="#032D4E">Tipologia</font></td>';
    echo '<td width="238" height="17" align="left"><font face="Arial" size="2" color="#032D4E">Sezione competente</font></td>';
    echo '</tr>';
    echo '</table>';
    echo '</center>';
    echo '</div>';

    mysql_connect("localhost", "utente", "password") or die("Connessione fallita !");

    mysql_select_db("database") or die("Selezione del DB fallita !");


    $count = mysql_query("SELECT COUNT(numero) FROM determinazioni");
    $res_count = mysql_fetch_row($count);


    $tot_records = $res_count[0];


    $per_page = 10;


    $tot_pages = ceil($tot_records / $per_page);


    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];


    $primo = ($current_page - 1) * $per_page;

    echo "<div align=\"center\">\n<table>\n";


    $query_limit = mysql_query("SELECT id, numero, codice, oggetto, riferimento, DATE_FORMAT(giorno,'%d/%m/%Y') as data FROM determinazioni ORDER BY id DESC LIMIT $primo, $per_page");
    while($results = mysql_fetch_array($query_limit))
    {

    if ($results['riferimento']===$_REQUEST['codice'])
    {

    echo '<div align="center">';
    echo '<center>';
    echo '<table border="1" width="774" height="1" bordercolorlight="#000080">';
    echo '<tr>';
    echo '<td width="55" height="1" bgcolor="#66FFFF">';
    echo '<p align="center"><font face="Arial" size="2">';
    print ($results['numero']);
    echo '<td width="83" height="1"><font face="Arial" size="2">';
    print ($results['data']);
    echo '</font></td>';
    echo '<td width="217" height="1" >';
    print ($results['oggetto']);
    echo '<td width="137" height="1" align="center"><font face="Arial" size="2">';
    print ($results['riferimento']);
    echo '</font></td>';
    echo '<td width="239" height="1" align="center"><font face="Arial" size="2"></font></td>';
    echo '</tr>';
    echo '</table>';
    echo '</center>';
    echo '</div>';
    }
    else

    {
    echo '<div align="center">';
    echo '<center>';
    echo '<table border="1" width="774" height="1" bordercolorlight="#000080">';
    echo '<tr>';
    echo '<td width="55" height="1">';
    echo '<p align="center"><font face="Arial" size="2">';
    print ($results['numero']);
    echo '<td width="83" height="1"><font face="Arial" size="2">';
    print ($results['data']);
    echo '</font></td>';
    echo '<td width="217" height="1" >';
    print ($results['oggetto']);
    echo '<td width="137" height="1" align="center"><font face="Arial" size="2">';
    print ($results['riferimento']);
    echo '</font></td>';
    echo '<td width="239" height="1" align="center"><font face="Arial" size="2"></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\" title=\"Vai alla pagina $i\">$i</a> ";
    }
    }
    $paginazione .= "]";
    include("paginazione_2.php");


    echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";

    echo " </tr>\n</table>\n</div>";


    mysql_close();


    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    428
    Io sto provando a passare alla sessioni gestite lato db... cmq perchè usi $_REQUEST['codice']? per le variabili di sessioni mi pareva si usa l'array $_SESSION[], se non erro in $_REQUEST ci sono le variabili passati da una pagina all'altra mediante metodi post o get.

    Magari prima di provare a stravolgere tutto prova a passare il codice nell'url quindi sfruttando il $_REQUEST


    Ciao
    gnegno

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Ho già provato a passare tramite la stringa d'interrogazione, ma non funzia: per questo sono passato alla session...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    428
    allora prova ad usare l'array session

    ciao
    gnegno

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.