Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    67

    Generare pagine con contenuti diversi

    Ciao a tutti!

    Con php e mysql è possibile sostiuire il contenuto di una pagina a seconda dell' "id" con cui viene chiamata?
    Mi spiego meglio: se io ho 200 pagine nel mio sito identiche dove cambiano solo 4 o 5 campi la comodità sarebbe quella che richiamando sempre la pagina xy.php quando devo modificare qualcosa cambio solo la pagina xy.php mentre se sono realizzate con il normale HTML devo cambiarle una ad una...

    Avevo fatto delle prove con un "db" .txt e li accedevo alle pagine così xyxyxy.com?id=* e a sestituendo il * con l'id ottenevo la sostituzione dei campi di cui necessitavo...

    E' possibile fare una cosa così anche con php e mysql??

  2. #2
    lasciando perdere la parte del db '.txt' che proprio non l'ho capita la risposta e': certo, php e' fatto apposta.

    se passi le variabili nell'indirizzo, in php puoi recupararle nell'array $_GET:
    se richiami pagina.php?var1=bianco&var2=rosso nel codice php avrai $_GET['var1'] che vale 'bianco' e $_GET['var2'] che vale 'rosso'


    danno

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    67
    Questo codice

    <?php
    $host="xxxxxxx"; // host del database
    $uname="xxxxxxx"; // utente del db
    $psw="xxxxxxxx"; // password dell'utente sopra
    $nomedb="xxxxxxxxx"; // nome del db
    mysql_connect($host,$uname,$psw);
    mysql_select_db($nomedb);
    $q=mysql_query("SELECT * FROM tabella");
    $r=mysql_fetch_assoc($q);

    echo $r[h1];
    ?>
    Come lo modifico in modo che poi accederò al mio sito es www.pincopallino.com/pagina.php?id=1 oppure ?id=2 e il contenuto cambierà automaticamente a seconda del contenuto del database??

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    14
    clausola where nella query

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    67
    Però così perdo il vantaggio di dover modificare e creare "fisicamente" una sola pagina al posto che molte... o mi sbaglio??

  6. #6
    Puoi fare così:

    Codice PHP:
    <?php
    $host
    ="xxxxxxx"// host del database
    $uname="xxxxxxx"// utente del db
    $psw="xxxxxxxx"// password dell'utente sopra
    $nomedb="xxxxxxxxx"// nome del db
    mysql_connect($host,$uname,$psw);
    mysql_select_db($nomedb);

    $id=$_GET["id"];
    $q=mysql_query("SELECT * FROM tabella WHERE id=$id");
    $r=mysql_fetch_assoc($q);
    echo 
    "HTML della pagina";//Può essere sostituito da un include. ES: include("header.php");
    if ($r)
        {
        echo 
    $r[h1];//Scrive il valore del campo h1 quando id=$id
        
    }
    else
        {
        echo 
    "Id non corretto";
        }

    echo 
    "Fine HTML della pagina";//Può essere sostituito da un include. ES: include("footer.php");
    ?>

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    67
    E poi come faccio a far generare i contenuti al PHP? Con che indirizzo devo accedere alla pagina??

    Grazie!

  8. #8
    Originariamente inviato da snarkdo
    E poi come faccio a far generare i contenuti al PHP? Con che indirizzo devo accedere alla pagina??

    Grazie!
    nel link specifichi l'id del database. ES: tuapagina.php?id=34

    Lo script prende l'id n° 34 del database restituendoti il valore di h1. Il db sarà strutturato circa così:

    ID | H1
    1 | html1
    2 | html2
    3 | html3
    4 | html4
    5 | html5
    6 | html6
    7 | html7
    34 | html34

    Capito? Ma se vuoi fare una cosa più semplice puoi evitare di utilizzare il database e richiamare il file con quell'id e fare un include. Così:

    Codice PHP:
    <?php

    $id
    =$_GET["id"];

    echo 
    "HTML della pagina";//Può essere sostituito da un include. ES: include("header.php");
    if (file_exists("contents/".$id.".php"))
        {
        include (
    "contents/".$id.".php");//Scrive il valore del campo h1 quando id=$id
        
    }
    else
        {
        echo 
    "Id non corretto";
        }

    echo 
    "Fine HTML della pagina";//Può essere sostituito da un include. ES: include("footer.php");
    ?>
    Usa il metodo che ritieni migliore. Gli script non li ho testati. Se hai problemi chiedi pure. Ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    67
    Perfetto, lo script sopra funziona alla perfezione! Adesso chiamando www.miosito.com/page.php?id=xy i contenuti vengono caricati direttamente dal database.
    Adesso avrei un altra domanda da farti: io per ora ho 63 campi nel database e per accedervi basta che scrivo nell'url ?id="n° id" però per esempio dai campi del db pesco anche l'indirizzo di un immagine. Se io volessi realizzare una pagina indice con tutte e 63 le immagini come posso fare a dire alla pagina "qui inserisci l'immagine dell'id 1, qui quella del 2 ecc ecc"?

    Grazie mille!

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    67

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.