• User

    Applicazione multi-blog/area riservata

    Ciao a tutti, dopo diverso studio e prove su php e mysql mi sono deciso ad iniziare un percorso abbastanza complesso e tortuoso:

    Vorrei realizzare un'applicazione multi-blog.

    Descrizione:

    L'applicazione permetterà ad ogni utente di registrarsi e quindi accedere ad un'area personale riservata in cui potrà, giornalmente o alla cadenza che preferirà, postare: testo, immagini, eventualmente collegamenti a youtube.

    Gli utenti registrati potranno visualizzare dei profili pubblici di tutti gli utenti, visualizzando esclusivamente delle info di base. Qualora diventino fan o amici di quella persona (tipo Facebook) potranno visualizzare gli aggiornamenti del mini-blog dell'utente.

    Infine ogni utente registrato visualizzarà, una volta loggato, gli aggiornamenti degli utenti che fanno parte della sua rete (sempre stile Facebook).

    Tenendo conto che per le pagine di registrazione e log-in, si è già discusso in altri post (se volete posso postare del codice, anche se non essendo membro senior non mi è consentito).
    Mi piacerebbe capire come poter realizzare dei mini-blog personali nell'area riservata e come recuperare gli aggiornamenti degli utenti una volta loggati.

    A presto.

    Enrico


  • User

    Ciao a tutti eccomi di nuovo,
    per il momento ho steso la struttura del database.

    --
    -- Struttura della tabella commenti

    CREATE TABLE IF NOT EXISTS commenti (
    ID_Commento int(11) NOT NULL AUTO_INCREMENT,
    ID_Post int(11) NOT NULL,
    ID_Utente int(11) NOT NULL,
    Comm_Testo varchar(255) NOT NULL,
    Visualizzato tinyint(1) NOT NULL,
    PRIMARY KEY (ID_Commento)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    --
    -- Dump dei dati per la tabella commenti


    --
    -- Struttura della tabella post

    CREATE TABLE IF NOT EXISTS post (
    ID_Post int(11) NOT NULL AUTO_INCREMENT,
    Data_Pubblicazione date NOT NULL,
    Titolo varchar(30) NOT NULL,
    Testi text NOT NULL,
    Visualizzato tinyint(1) NOT NULL,
    ID_Utente int(11) NOT NULL,
    PRIMARY KEY (ID_Post)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    --
    -- Dump dei dati per la tabella post


    --
    -- Struttura della tabella utenti

    CREATE TABLE IF NOT EXISTS utenti (
    ID_Utente int(11) NOT NULL AUTO_INCREMENT,
    Nome varchar(40) NOT NULL,
    Cognome varchar(40) NOT NULL,
    Email varchar(40) NOT NULL,
    Sesso varchar(8) NOT NULL,
    Data_Nascita datetime DEFAULT NULL,
    PRIMARY KEY (ID_Utente)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    --
    -- Dump dei dati per la tabella utenti

    Per quanto riguarda la possibilità di rendere gli utenti amici di altri, come avviene per facebook per intenderci, pensavo di procedere così:

    Essendo la relazione Utenti - Amici una relazione Molti a Molti, pensavo di creare una tabella
    AMICI

    ID-amico
    nome
    cognome
    sesso

    Dopodichè porre in relazione le tabelle Utenti ed Amici tramite una terza tabella chiamata:

    Amicizia

    ID-utente
    ID-amico
    Stato amicizia (campo booleano '1' amici '0' non amici)

    A questo punto mi chiedevo: le due tabelle utenti ed amici dovrebbero essere popolate entrambe al momento della registrazione utente (in quanto uno può essere utente ed amico). L'unica cosa che a questo punto mi lascia un po' perplesso è lo stato amicizia che può essere popolato quando i due diventano amici, magari viene popolato impostando lo stato su '0' quando il primo utente chiede l'amicizia e portato poi ad '1' se l'altro utente accetta.

    Qualcuno può darmi qualche consiglio? Sono disponibilissimo a proseguire il progetto postando il codice man mano che lo realizzo.

    Ciao

    Enrico