Creare un forum in php

  • Creatore Discussione Creatore Discussione angel
  • Data di inizio Data di inizio
ciao
non è come fare le tabelle, sui tu che decidi cosa metterci dentro. io ti consigliavo solo
se utilizzi anche id_sezione in tutte le tabelle mettere

'id_sezione' INT(11)......
'id_discussione' INT(11)....

cioe non in una int e nell'altra varchar, ma sempre int

per la data
'data_discussione' INT(11)......
'data_risposta' INT(11)......

non mi ricordo quanto lungo deve essere il campo per la data time stamp, ma basta che tu su una pagina faccia
echo time();
che vedi la grandezza contando di quanti numeri è fatto

p.s.
^^ perché ne voglio creare uno per me...
ma forse non sarebbe meglio che tu ti cimentassi in qualcosa di più semplice?
 
per le date non ti ho capito come fare....
PHP:
  `data_risposta` varchar(255) NOT NULL DEFAULT '',
in cosi
PHP:
`data_risposta` INT(11) NOT NULL DEFAULT '',
p.s.
cerco problemi e poi e bello cimentarsi in cose impossibili...^^
 
per le date sarebbero meglio DATE o DATETIME, così ci puoi fare sopra anche i calcoli
 
non ci sto capendo più niente....
quale meglio poi per inviare i dati al db cosa devo mettere....:mavieni:
 
ciao
eliox ha da molti punti di vista ragione, però io preferisco usare i numeri interi
comunque

quale meglio poi per inviare i dati al db cosa devo mettere....
:confused:

ma uno poco di php lo conosci?
se guardi questo forum un po capisci
grosso modo (spannometricamente parlando)
1. devi avere un form per l'inserimento user e pass
2. pagina di verifica log
3. se ok due semplici pulsanti
3.1. "nuova discussione" ti porta al form per nuova discussione
3.2. "rispondi" ti porta al form (che con alcune modifiche di script) puo essere uguale al precedente
4. scritto sul form invii o la nuova discussione o la risposta
5. il testo viene archiviato nel db con una query di insert es.
mysql_query("INSERT INTO tabella (campo_1, campo_2, ecc) VALUE ('val_per_campo_1','val_per_campo_2', eccetera)


cerco problemi e poi e bello cimentarsi in cose impossibili...^^
le cose impossibili non sono problemi, sono solo cose impossibili:D
 
nel senso per mettere i dati nel db secondo voi devo usare
PHP:
date("d/m/Y") o usare  '".time()."'
invece nella tabella
PHP:
`data`			INT(11) NOT NULL DEFAULT '',
giusto...
 
ciao se usi la data in formato timestamp devi usare time() che ti restituisce un numero intero = numero di secondi dal 01.01.1900 ad adesso
 
veramente non era partendo dal 1970...
se non ero^^
va be uso
la data in questo modo
19/2/2009, 11:26
cosa mi conviene usare secondo te...
 
ciao
hai ragione , lapsus

la scelta del formato della data è soggettiva, io preferisco il timestamp e trasformare la data dove mi serve.
inoltre
per gli ordinamenti …. ORDER BY data …, secondo me, è meglio il timestamp in quanto es. la data nel formato
19/2/2009 con ORDER BY viene dopo 11/12/2009 analogamente per 19 feb 2009 e 11 dec 2009
per eliminare records vecchi , sempre secondo me, è sempre più semplice il time stamp es
$adesso=time();
$piu_vecchi_di=$adesso-(30*24*60*60); //più vecchi di un mese 30giorni*24ore*60minuti*60secondi

DELETE FROM tabella WHERE data < $piu_vecchi_di
 
Sinceramente io per le date ho sempre utilizzato un campo BIGINT da venti caratteri (sì, è esagerato, ma non si sa mai!). Così poi posso utilizzarlo come voglio, con i campi DATE e TIMESTAMP mi ci sono sempre trovato male perché sono costretto ad utilizzare necessariamente del testo per segnare qualcosa che è in realtà semplicemente un numero.
 
Non dilungatoci molto...
perché poi non si capisce
allora io devo prendere date..
Tipo cosi
19/2/2009, 11:26

cosa mi conviene usare....
nella tabella e nel codice php...
 
Ti assicuro che è meglio dilungarsi ma fare qualcosa fatto bene piuttosto che non dilungarsi e fare uno script poco efficiente nell'esecuzione. Come vedi le opinioni sono piuttosto divergenti, ma personalmente ti consiglio di usare un campo BIGINT da venti caratteri che poi formati con date ed in cui inserirai, di volta in volta, i valori restituiti da time.
 

Discussioni simili