Ciao a tutti....
Ho letto l'articolo riguardante come creare un forum ma ci sono alcune cose che non vanno....
sapete darmi una mano....^^
se si posto i codici della tabella...
Ti consiglio di creare una tabella forum_lite_replies in cui memorizzi l'ID del thread e tutti i dati della risposta. Poi le visualizzi insieme al messaggio principale e nella pagina della visione di un thread inserisci il link alla risposta.
CREATE TABLE `forum_sezioni`(
`id_sezione` INT(11) NOT NULL AUTO_INCREMENT,
`titolo_sezione` VARCHAR(255) NOT NULL DEFAULT '',
PRIMARY KEY (`id_sezione`)
)TYPE=MyISAM AUTO_INCREMENT=1;
CREATE TABLE `forum_discussione`(
`id_discussione` INT(11) NOT NULL AUTO_INCREMENT,
`id_sezione` VARCHAR(255) NOT NULL DEFAULT '',
`data_discussione` VARCHAR(255) NOT NULL DEFAULT '',
`autore_discussione` VARCHAR(255) NOT NULL DEFAULT '',
`titolo_discussione` VARCHAR(255) NOT NULL DEFAULT '',
`testo_discussione` text NOT NULL,
PRIMARY KEY (`id_discussione`)
)TYPE=MyISAM AUTO_INCREMENT=1
CREATE TABLE `forum_risposta`(
`id_risposta` INT(11) NOT NULL AUTO_INCREMENT,
`id_discussione` VARCHAR(255) NOT NULL DEFAULT '',
`data_risposta` VARCHAR(255) NOT NULL DEFAULT '',
`autore_risposta` VARCHAR(255) NOT NULL DEFAULT '',
`oggetto_risposta` VARCHAR(255) NOT NULL DEFAULT '',
`messaggio_risposta` VARCHAR(255) NOT NULL DEFAULT '',
PRIMARY KEY (`id_risposta`)
)TYPE=MyISAM AUTO_INCREMENT=1;
tipo cosi...
ma e sorto un problema cerco di spiegarti...
ho un problema con creare discussione nelle sezioni....
ho 3 sezioni
sez1
sez2
sez3
nella prima sezione ci sono 2 discussioni
nella 3 ce ne 1
per vedere una discussione bisogna andare nella pagina
thread.php?sez=1&discu=1
sez e la sezione
discu e la discussione
fino ha qui ci 6...
il problema e nella tabella forum_discussione dove ce (id_discussione)
vorrei che aumentare di uno se già esiste quello di prima ma in base ad id_sezione
--------------------------------------
id_discussione--------------id_sezione
1------------------------------------1
2------------------------------------1
3------------------------------------1
1------------------------------------3
2------------------------------------3
1------------------------------------2
3------------------------------------3
--------------------------------------
Vorrei che aumentasse in base alla sezione e possibile fare....^^
cosa devo cambiare nelle tabelle
La vedo complicata, comunque non vedo perché ti preoccupi. Nessun forum del mondo usa il sistema da te adottato, per ogni topic c'è un ID univoco. Altrimenti anche nelle risposte dovresti salvare l'ID di sezione, non pensi sia scomodo?
Ti ho già detto che solo con il database sarebbe impossibile, perché non gestisce correttamente gli indici. Ti servirebbe una libreria in PHP che simula la funzione AUTO_INCREMENT e gestisce gli ID come dici tu.
Ma ti ripeto la mia domanda: a che cosa ti serve? Non so se te ne rendi conto, ma è una cosa totalmente inutile e nessun CMS usa il sistema che vorresti adottare, né lo farà mai. Perché? Semplicemente perché è scomodissimo!
No, un momento, non capisco una cosa. Io mi riferisco al fatto che tu voglia far partire per ogni categoria l'ID del topic da uno. Ma capisci che così complichi solo il codice? Altro che renderlo più pulito, dovrai aggiungere qualche decina di righe senza senso! Probabilmente, in futuro, se qualcuno vedesse ciò che hai scritto ti riderebbe in faccia.
ciao
sono perfettamente d'accordo con alessandro1897.
poi un paio di cose
quando ti porti dietro l'id (o sezione o discussione o risposta) mantieni lo stesso tipo INT(11), poi per le date (secondo me) è megio usare INT(...) al posto di varchar ed utilizzare le date in formato timestamp, sono molto più comode per eventuali ordinameni per data, vi si possono effettuare facilmente operazioni e poi le trasformi a monitor come vuoi