Visualizzazione dei risultati da 1 a 4 su 4

Discussione: paginazione php

  1. #1

    paginazione php

    salve ragazzi, sono nuova del forum e nuova di php. sto provando a realizzare un guestbook e ho un po' di difficoltà con la paginazione di record su diverse pagine.
    ho letto i tutorial su internet, compreso quello su questo sito, ma non riesco a capire come vengono generate le nuove pagine php. deduco che si creino con questo codice

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

    ma io credevo di aver capito che get era un metodo per passare i dati alternativo a post. In questo caso page non dovrebbe essere una variabile da inizializzare?
    e perchè bisogna specificare (int) prima del secondo GET?
    lo so che magari sono domande ovvie per voi ma abbiate pazienza, sto cercando di capire...
    Thanx

  2. #2
    ciao, quello che hai scritto potrebbe essere una riga del codice usato da un programmatore per visualizzare la pagina corrente, ma in sé ti servirà a poco.
    L'int davanti ad una variabile serve per forzarne il valore ad intero (un numero contenuto in una variabile potrebbe essere scritto come stringa - e quindi non sepre riusciresti ad utilizzarlo per effettuare dei calcoli - oppure come numero).
    Ma cosa intendi per generare le pagine php? Il codice php in una pagina html lo racchiudi tra i tag <?php e ?> ma non so se è questo che intendi.

  3. #3
    voglio fare in modo che i vari messaggi del guestbook vengano visualizzati su più pagine, 10 per pagina per la precisione. Dal momento che non so a priori quanti messaggi ci saranno devo utilizzare un modo dinamico per creare solo il numero di pagine di cui ho bisogno. per esempio se ho 12 messaggi i primi dieci devono stare nelal prima pagina, gli altri due su una seconda pagina (che dovrebbe essere creata tramite php). non so se mi sono spiegata.... :master:

  4. #4
    In questo »POST« dei giorni scorsi, trovi riportato del codice che avevo scritto tempo fa per un altro post ancora.

    Ti riporto quel codice, ma se leggi il post magari trovi anche degli altri spunti interessanti.
    Codice PHP:
    // ammesso che l'URL sia del tipo 
    // visualizzatore.php?pag=xx 
    $pag $_GET['pag']; 
    $tot $_GET['tot']; 

    // piccolo controllo di sicurezza
    if(!is_numeric($pag)) { $pag == 1;}
    if(!
    is_numeric($tot)) { $tot == 1;}

    // variabile per quantificare il numero di record per pagina 
    $quante 30

    if (!
    $pag OR $pag == 1) { 
    // è la prima volta che visualizzo la pagina 
    // query per contare i record presenti 
    $sql "SELECT COUNT(id) AS totale FROM tabella"

    $query mysql_query($sql); 
    $result mysql_result($query,0,'totale'); 
    // liberi risorse 
    mysql_free_result($query); 

    // numero pagine necessarie per visualizzare tutti i record 
    $tot ceil($result); 

    // definisco gli estremi del LIMIT 
        
    $min 1
        
    $max $quante
    } else { 
    // ho già tutto quello che mi serve per definire il LIMIT 
        
    $min $quante
        
    $max $quante $pag


    $sql "SELECT * FROM tabella LIMIT $min$max"

    $query mysql_query($sql); 

    while (
    $fetch mysql_fetch_array($query)) { 
    // estrapoli i dati e stampi la tabella 

    // liberi risorse 
    mysql_free_result($query); 

    // stampi il menu di navigazione 

    if ($pag 1) { 
    $prima $pag 1
    echo 

    <a href=\"visualizzatore.php?pag=
    $prima&tot=$tot\">Indietro</a> ::: 
    "



    if (
    $pag tot) { 
    $dopo $pag 1
    echo 

    <a href=\"visualizzatore.php?pag=
    $dopo&tot=$tot\">Avanti</a> 
    "


    Il barbatrucco sta nel fatto che la pagina che visualizza i risultati, trasporta nella URL alcune variabili (metodo GET) che sono quelle che ti permettono di richiamare sempre la stessa pagina ma di visualizzare risultati differenti.

    Forzare una variabile che deve essere numerica affinché lo sia, è un metodo semplice ma efficace per evitare anche degli attacchi di hacking al DB.
    Lo puoi fare anche con la funzione is_numeric(), che anzi reputo buona per casi come questo, mentre INT è più spesso utilizzato direttamente nella stringa SQL della query.

    Ultima precisazione: GET permette il passaggio di variabili attraverso la query string della URL (w ww.sito.tld/pagina.php?variabile1=var1&variabile2=var2).
    Le variabili sono in chiaro e possono raggiungere il limite massimo di 255 caratteri.
    POST invece salva tutte le variabili in una allocazione di memoria del server e non ci sono limiti di spazio così stringente come il GET.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.