Visualizzazione dei risultati da 1 a 3 su 3

Discussione: php paginazione error

  1. #1

    php paginazione error

    salve ragazzi mi trovo di fronte ad un problema ...

    ho una pagina php che mi visualizza degli annunci estratti da un database...
    fin qui tutto ok...
    poichè gli annunci possono essere tanti ho deciso di usare la paginazione ma essendo un principiate ho seguito questa pillola e fin qui tutto ok......

    http://forum.html.it/forum/showthrea...hreadid=439411

    mi funziona tutto solo ho un piccolo problema mi stampa sempre le primi 5 annunci estratti dal db su ogni pagina..
    esempio
    nel mio db ho 13 annunci
    pagina 1 mi stampa annunci 1 a 5
    pagina 2 dobrebbe stamparmi da 6 a 11
    invece mi stampa sempre 1 e 5 e cosi via

    posto il codice

    Codice PHP:
    <?

    include("config.inc.php");

    /*
    le modifiche da apportare sono pochissime:
    - configurare a piacimento la variabile $recordxpag
    - configurare una variaile $query con il codice SQl per l'interrogazione del database
    - Inserire nel punto opportuno il messaggio di avviso in caso di nessun dato trovato
    - Inserire nel punto opportuno il codice che stampa i vostri record dopo averli manipolati come meglio credete
    */

    //per comodità configuriamo qui delle variabili che ci può essere utile modificare:
    //la seguente variabile indica quanti record vogliamo mostrare per ogni pagina.. chiaro no?
    $recordxpag 5;
    $query "SELECT id,img,annuncio,autore FROM annunci";


    //interrogazione del database:
    //quale che sia la vostra query avremo una situazione del genere:
    $res mysql_query($query);
    $righe mysql_num_rows($res);

    $numpag ceil($righe/$recordxpag);
    //con l'ultima istruzione otteniamo il numero di pagine necessarie a
    //visualizzare un numero di record per pagina pari al valore della
    //relativa variabile

    //nel punto in cui preferite, ma dopo l'interrogazione del database
    //[volendo anche dopo la visualizzazione dei dati che vedremo a breve]
    //includiamo lo script visto in precedenza che ci crea, come detto,
    //un piccolo menu' di link alle altre pagine generate dalla nostra
    //interrogazione del database.
    //ovviamente dovrete modificare eventualmente il path del file
    include('paginazione.inc.php');

    //per scrupolo ipotizziamo che la nostra interrogazione non abbia
    //fornito risultati... chiaramente vogliamo segnalare la cosa
    //all'utente.. basta gestire un semplice condizionale
    if ($righe<1)
      {
       echo 
    "non ci sono dati";
       
    //gestite l'evento come meglio credete
      
    }
    else
    {
      
    //a questo punto cosa abbiamo a nstra disposizione?
      //Abbiamo una variabile $pag [creata dallo script incluso] che ci informa
      //di quale sia la pagina corrente.. cosa ce ne facciamo?
      //semplice: ci basiamo su di essa e sul numero di record che
      //vogliamo mostrare in ogni pagina, per crearci i due estremi
      //dell'intervallo:

      //moltiplicando il numero di record per pagina, per la pagina
      //precedente, otteniamo il numero di record finora mostrati,
      //quindi quello da cui partire nella pagina corrente ;)
      
    $da = (($pag-1) * $recordxpag);

      
    //non credo ci siano difficoltà: il limite destro del nostro
      //intervallo, sarà il limite sinitro incrementato dell'intervallo stesso ;)
      
    $a $da $recordxpag;

      
    //quest'ultima condizione serve a dire allo script che se
      //nell'ultima pagina ci fossero meno record di quelli da visualizzare
      //si deve limitare all'ultimo record dispobnibile.
      //tradotto in algoritmo: se il limite destro dell'intervallo, va
      // oltre il numero dei record, poni il limite destro uguale al
      // numero dei record
      
    if ($a $righe){$a=$righe;}

    for (
    $i $da$i $a$i++)
       {
         
    //inserite qui il codice per la manipolazione e visualizzazione
         //dei vostri dati
    $row mysql_fetch_array($res)   ;

    $campo "$row[annuncio]";
    $output nl2br($campo);
    echo 
    "<div class=\"news\">";
    echo 
    "<div class=\"autore\">Questo annuncio è stato inserito da: $row[autore]
    </div>"
    ;

    echo 
    "<div class=\"immagine\"><a href=\"img/$row[img]\" onmouseup=\"MM_openBrWindow('img/$row[img]','popup','top=100,left=100')\">
    <img border=\"0\" widht=\"100\" height=\"100\" src=\"img/
    $row[img]\"></a></div>";
    echo 
    "<div class=\"annuncio\">$output</div>";
    echo 
    "<img src=img/barrag.gif>";
    echo 
    "</div>";


       }

    }
    l'unica modifica che ho fatto di mio è questa

    codice:
    $row = mysql_fetch_array($res)   ;
    e sono sicuro che è questo l'errore... ma non so proprio cose cambiare...
    mi date una spiegazione premetto che sono ai primi passi con php...
    ragazzi vi prego rispondetemi perchè ho un bisogno urgente

  2. #2
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    guarda, io per la paginazione ho usato questo

    http://php.html.it/articoli/leggi/85...one-di-dati/1/

    nel giro di 10 minuti avevo finito
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  3. #3
    grazie mille risolto ciao

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.