• User Attivo

    Ciao Valerio,

    grazie per il consiglio.
    Finora non mi ero mai cimentato nella realizzazione di un sito dinamico...per fortuna ho il tempo e la possibilita' di impratichirmi dato che il sito e' per uso personale. Devo documentarmi un po' per scegliere uno tra i cms che mi hai consigliato...


  • ModSenior

    Prego 😉

    Valerio Notarfrancesco


  • User

    ...


  • User

    Scrivere un cms per una quindicina di categorie contenenti una quindicina di prodotti ciascuna è abbastanza semplice.

    Ti posto il codice in 2 parti. Oggi la parte vista e domani la parte admin.

    NOTA: LEGGI BENE I COMMENTI DENTRO AL CODICE

    file: cms.sql
    [php]

    -- Struttura della tabella articoli

    CREATE TABLE IF NOT EXISTS articoli (
    artID int(5) NOT NULL AUTO_INCREMENT,
    nome varchar(200) NOT NULL DEFAULT '',
    descrizione text NOT NULL,
    catID int(5) NOT NULL,
    PRIMARY KEY (artID)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

    --
    -- Dump dei dati per la tabella articoli

    INSERT INTO articoli (artID, nome, descrizione, catID) VALUES
    (1, 'Pollo', 'Pollo arrosto', 1),
    (2, 'Tacchino', 'Un buon tacchino', 1),
    (3, 'Tonno', 'Il buon pesce', 2);

    --
    -- Struttura della tabella categorie

    CREATE TABLE IF NOT EXISTS categorie (
    catID int(5) NOT NULL AUTO_INCREMENT,
    catName varchar(200) NOT NULL DEFAULT '',
    PRIMARY KEY (catID)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

    --
    -- Dump dei dati per la tabella categorie

    INSERT INTO categorie (catID, catName) VALUES
    (1, 'carne'),
    (2, 'pesce');
    [/php]

    file: configurazione.php
    [php]
    <?php

    /**
    *

    •    Nome del server mysql
      

    */
    $dbHost = 'localhost';

    /**
    *

    •    Utente del database
      

    */
    $dbUser = '';

    /**
    *

    •    Password per l'utente
      

    */
    $dbPass = '';

    /**
    *

    •    Nome del database
      

    */
    $dbName = 'cms';

    /**
    *

    •    Cancella articoli in automatico
      
    •    NOTA: Se impostata su true alla cancellazione
      
    •          di una categoria faràs eguito l'immediata
      
    •        cancellazione di tutti gli articoli in essa
      
    •        contenut. Di default è impostata su false
      

    */
    $autoDeleteArt = false;

    ?>
    [/php]

    file: database.php
    [php]
    <?php

    require_once 'configurazione.php';

    $linkID = mysql_connect ( $dbHost, $dbUser, $dbPass ) or die ( 'Si è verificato un errore' /** messaggio di errore configurabile a piacere */ );
    mysql_select_db ( $dbName, $linkID );

    ?>

    [/php]

    file: index.php
    [php]
    <?php

    /**
    *

    •    Includiamo il file di configurazione
      

    */
    require_once 'configurazione.php';

    /**
    *

    •    Includiamo le funzioni per la connessione al database
      

    */
    require_once 'database.php';

    /**
    *

    •    Apriamo l'html per creare un semplice template fatto di una tabella con una colonna sinistra che funge
      
    •    da menù e il blocco centrale che contiene gli articoli della categoria scelta o se non è ancora stata
      
    •    scelta i contenuti del sito del utente e da lui decisi
      

    /
    ?>
    <html>
    <head>
    <title><?php echo $siteTitle; ?>
    </title>
    <body>
    <table width="923" border="1">
    <tr>
    <?php
    /
    *
    * Questa parte rimane sempre invariata e costituisce l'intestazione del sito
    /
    ?>
    <td width="129" height="26">Lista Categorie</td>
    <td width="778">Header del sito</td>
    <?php
    /
    *
    * Fine della parte sempre invariata
    /
    ?>
    </tr>
    </table>
    <table width="923" border="1">
    <tr>
    <td width="129" height="26">
    <?php
    /
    *
    * Qua ci va il menù delle categorie e anche questo è sempre presente
    **/
    $sql = "SELECT * FROM categorie";
    $result = mysql_query ( $sql );
    while ( $row = mysql_fetch_array ( $result, MYSQL_ASSOC ) )
    {

                             echo "<a href=\"index.php?catID=" . $row['catID'] . "&catName=" . $row['catName'] . "\">" . $row['catName'] . "</a><br />";
                             
                         }
                         /**
                          *        Fine del menù sempre invariato
                          */
                         ?>
                        </td>
                        <td width="778">
                        <?php
                        /**
                         *        Questa parte varia perchè se catID e catName non sono settate come variabili post visualizza i contenuti del tuo sito
                         *        e che io non conosco.
                         */
                        if ( isset ( $_GET['catID'] ) )
                        {
                            /**
                             *        Ok se catID è settata presentiamo i contenuti della categoria 
                             */
                            $id = $_GET['catID'];
                            $sql = "SELECT nome, descrizione FROM articoli WHERE catID = $id";
                            $result = mysql_query ( $sql );
                            echo "<b>" . $_GET['catName'] . "<br /><br />";
                            while ( $row = mysql_fetch_array ( $result, MYSQL_ASSOC ) )
                            {
                                /**
                                 * Se l'immagine deve essere cliccabile ti basta inserire il tag href prima di img src
                                 * Se non c'è immagine tronca la linea dopo il secondo <br />
                                 */
                                echo $row['nome'] . "<br />" . $row['descrizione'] . "<br /><img src=\"" . $row['nome'] . ".png\"><br />";
                            }
                        } else {
                            /**
                             *        Altrimenti metti qua i contenuti del sito
                             */
                             echo "Contenuti del sito";
                        }     
                        ?>
                        </td>
                      </tr>
                </table>
             </body>
           </html>
    

    [/php]


  • User Attivo

    Grazie mille,

    sei stato davvero gentile!


  • User Attivo

    Ciao, fossi in te proverei ad imparare almeno un cms anche solo per "sfizio". Ad esempio wordpress è davvero semplice e ha un supporto ottimo, inoltre porta dei vantaggi che lo rendono consigliabile anche in progetti semplici (seo in primis)


  • User

    @Ivandesign said:


    Non hai torto ma se il tenore di questo forum è: impariamo a usare quello che fanno gli altri .... state messi che è una pena


  • User

    Aggiungo che la cosa più disonorevole e deplorevole che possa esistere e guardare come gli altri fanno cosa


  • ModSenior

    Ciao Aragonesse, e tu solo perché non condividi un singolo consiglio tecnico sentenzi che oltre 87.800 persone, quasi un milione di messaggi, centinaia di migliaia di discussioni in quasi 10 anni per non parlare poi di tutte le attività formative in giro per l'Italia sono una pena?
    Dai su, vediamo di rilassarci che fa caldo e occorre portare rispetto verso tutti per condividere idee e conoscenze. :bigsmile:

    Quanto sopra è una colonna portante del forum gt.

    Valerio Notarfrancesco


  • User

    @vnotarfrancesco said:


    Hai ragione fa caldo, sto smadonnando con una classe da 17 ore ed ero incazzato come un crotalo.

    Pardon.


  • ModSenior

    Tutto ok :wink3:

    Valerio Notarfrancesco