Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483

    Realizzare un GuestBook

    Ciao a tutti,
    premetto che è da 3 giorni che mi sono immerso nel mondo PHP... e per cominciare ho deciso di realizzare un Guestbook (per quanto riguarda php sto partendo da zero..xo' qualke nozione generale di programmazione ce l'ho).
    Fino a ora sono riuscito a scrivere il codice ke riguarda l'inserimento dei dati da FORM a database MySql.. e fin qui tutto ok.
    Ora devo realizzare il codice x la pagina dove si andranno a leggere i messaggi inseriti... e sono un po' in difficoltà. A parte il codice di connessione al database... ho scritto queste righe di codice:

    codice:
     //Query di lettura
    $query = "SELECT * FROM guestbook ORDER BY id DESC";
    $result = mysql_query($query, $db);
    $row = mysql_fetch_array($result);
    $vis_nome = $row['nome'];
    $vis_email = $row['email'];
    $vis_eta = $row['eta'];
    $vis_txt = $row['txt'];
    $vis_data = $row['data'];
    Per prelevare i dati dal DB e inserirli in variabili PHP.. e tutto funziona infatti se faccio una stampa di una di queste 5 variabili $vis_ mi si stampa l'ultimo messaggio inserito nel database...

    Il mio problema è: come faccio anche a visualizzare tutti i messaggi inseriti nel DB ? e come fare per stabilire quanti messaggi visualizzare per pagina ?

    Grazie in anticipo


  2. #2
    Utente di HTML.it L'avatar di marmo79
    Registrato dal
    Dec 2000
    Messaggi
    131
    A parte che ti consiglio di scaricare un guestbook dalla rete per vedere come è strutturato, ti do 2 rapidi consigli.
    Devi sostituire questa riga:
    codice:
    $row = mysql_fetch_array($result);
    con questa:
    codice:
    while ($row = mysql_fetch_array($result)) {
    e dopo ti ricordi di chiudere la graffa che conclude il ciclo while ..
    codice:
    $vis_nome = $row['nome'];
    $vis_email = $row['email'];
    $vis_eta = $row['eta'];
    $vis_txt = $row['txt'];
    $vis_data = $row['data']; 
    }
    Il ciclo while ti consente in pratica di dare un valore diverso alle tue variabili per ogni record del database;se all'interno del ciclio, quindi prima della parentesi graffa, provi a stampare le tue variabili, otterrai ciò che vuoi.
    Per limitare i risultati devi invece aggiungere alla fine della tua query la clausola limit (esempio vuoi gli ultimi 5 messaggi: limit 0,5)
    under costrussion

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483
    di scripts gia fatti ne avevo gia scaricati... ma volevo proprio una spiegazione di un esperto... come te!!!

    domani mi Rimetterò al lavoro e se ho problemi mi rifaccio vivo... in tanto

    Grazie 100000000000000!!!


  4. #4
    Utente di HTML.it L'avatar di marmo79
    Registrato dal
    Dec 2000
    Messaggi
    131
    ...ma volevo proprio una spiegazione di un esperto... come te!!!
    E' la prima volta che mi chiamano esperto
    under costrussion

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483
    ho seguito le dritte di marmo e ora sono riuscito ad avere la mia bella pagina in cui sono stampati tutti i messaggi lasciati nel guestbook...
    Per non appesantire la lettura del guestbook (ipotizziamo ke nel mio DB siano salvati 100 mex) volevo però fare in modo ke per pagina compaiano per esempio al max 10 messaggi...
    Qualkuno mi sa dare qualke dritta su come implementare la cosa ? e come gestire quindi la creazione automatica di tutte le pagine necessarie x contenere i 100 mex ?

    grazie


  6. #6
    Utente di HTML.it L'avatar di marmo79
    Registrato dal
    Dec 2000
    Messaggi
    131
    c'è una pillola che si chiama qcs del genere gestire la paginazione in php...
    Vai avanti con la lettura del thread perchè se mi ricordo bene ci sono diverse versioni...
    In soldoni, dopo una prima query chiedi a php di contare i record restituiti dalla query ($num=mysql_num_rows($query))
    Dividi poi quel numero per il numero di messaggi che vuoi avere per pagina (ad esempio 100 messaggi in tutto / 5 in ogni pagina )...
    under costrussion

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 © 2024 vBulletin Solutions, Inc. All rights reserved.