Visualizzazione dei risultati da 1 a 5 su 5

Discussione: impaginazione dati db

  1. #1

    impaginazione dati db

    Ragazzi perchè l'ultima parte dello script, ovvero quella che dovrebbe mostrarmi pagina avanti e pagina indietro non funziona ?? ho sbagliato qualcosa ??
    Quando lo provo in locale i dati me li restituisce in base i record che ho impostato da visualizzare in questo caso 4 però infondo dove dovrebbe farmi cambiare pagina mi restituisce 1">Pagina Avanti proprio così come l'ho scritto solo una semplice scritta ! aiutatemi perfavore sto impazzendo !!

    <?
    // Creo una variabile dove imposto il numero di record
    // da mostrare in ogni pagina
    $x_pag = 4;

    // Recupero il numero di pagina corrente.
    // Generalmente si utilizza una querystring
    $pag = $_GET['pag'];

    // Controllo se $pag è valorizzato...
    // ...in caso contrario gli assegno valore 1
    if (!$pag) $pag = 1;

    // Mi connetto al database
    $conn = mysql_connect("localhost","root","");
    mysql_select_db("colonne", $conn);

    // Uso mysql_num_rows per contare le righe presenti
    // all'interno della tabella agenda
    $all_rows = mysql_num_rows(mysql_query("SELECT id_immagini FROM immagini"));

    // Tramite una semplice operazione matematica definisco
    // il numero totale di pagine
    $all_pages = ceil($all_rows / $x_pag);

    // Calcolo da quale record iniziare
    $first = ($pag - 1) * $x_pag;

    // Recupero i record per la pagina corrente...
    // utilizzando LIMIT per partire da $first e contare fino a $x_pag
    $rs = mysql_query("SELECT * FROM immagini LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rs);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rs);
    echo "<table><tr>";
    echo "<td>" . $row['immagini'] . "</td>";
    echo "<td>" . $row['img_desc'] . "</td>";
    echo "</tr></table>";
    }
    }else{
    echo "Nessun record trovato!";
    }

    // Se le pagine totali sono più di 1...
    // stampo i link per andare avanti e indietro tra le diverse pagine!
    if ($all_pages > 1){
    if ($pag > 1){
    echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pag=" . $pag - 1 . "\">";
    echo "Pagina Indietro</a>";
    }
    if ($all_pages > $pag){
    echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pag=" . $pag + 1 . "\">";
    echo "Pagina Avanti</a>";
    }
    }

    // Chiudo la connessione ad DB
    mysql_close($conn);
    ?>

  2. #2
    devi mettere quel $pag+1 e $pag-1 fra parentesi.
    ($pag+1) e ($pag-1)

  3. #3
    Ciao grazie mille era una cavolata eppure ciò perso 3 ore ! !! Un'altra cosa se oltre a visualizzare pagina avanti e pagina indietro volessi anche i numeri di pagina cioè mettiamo che avessi 5 pagine da visualizzare e vorrei una cosa del genere

    Indietro 1,2,3,4,5 Avanti

    e se clicco direttamente alla pagina 3 mi va subito alla pagina 3 senza fare sempre avanti avanti ??
    Spero di essere stato chiaro !
    Possibilmente modificando lo script sopra !


    GRAZIE ANCORA

  4. #4
    Codice PHP:
    if ($all_pages 1){
        for(
    $i 1$i <= $all_pages$i++){
                if (
    $pag && $i == ($pag-1)){
                    echo 
    "<a href=\"" $_SERVER['PHP_SELF'] . "?pag=" . ($pag 1) . "\">";
                    echo 
    "Pagina Indietro</a> ";
                } elseif (
    $all_pages $pag && $i == ($pag-1)){
                    echo 
    "<a href=\"" $_SERVER['PHP_SELF'] . "?pag=" . ($pag 1) . "\">";
                    echo 
    "Pagina Avanti</a>";
                } else {
                    echo 
    "<a href=\"" $_SERVER['PHP_SELF'] . "?pag=" $i "\">";
                    echo 
    $i "</a>";
                }
        }

    sostituisci

  5. #5
    Ciao praticamente è quello che volevo soltanto ce un problemino. Praticamente nel mio caso ho 3 pagine allora quando sono alla pagina 1 mi visualizza 123 senza Pagina Successiva se clicco sulla pagina 3 mi ritrovo 1 Paginaindietro 3 si potrebbe invece avere sempre "Pagina Indietro 1 2 3 Pagina Avanti " sempre fermi così ?? :master:

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.