Visualizzazione risultati 1 fino 14 di 14

Discussione: Aiuto!! MySql campi tabella

  1. #1
    L'avatar di fpmbyfox
    fpmbyfox non è connesso Utente giovane
    Data registrazione
    25-08-2004
    Messaggi
    86

    Arrow Aiuto!! MySql campi tabella

    Salve gente...

    una informazione.. ho creato una tabella... o meglio, sto cercando di crearla...

    ho bisogno di aiuto...

    Ho due campi... uno di tipo data e uno testo... ecco il problema...

    la data è del tipo 2005-09-29 io la vorrei del tipo 29 settembre 2005... si può? in teoria si, ma come?

    Inve il campo testo mi da un problema... andare a capo...

    Ad esempio:

    "Ciao,
    questa è una prova"

    mi viene:

    "Ciao,questa è una prova"

    senza andare a capo... Come faccio?

    e dovrebbe essere un campo più grande di 255 caratteri...

    Come faccio?

    Vi prego di fornirmi al più presto una risposta...

    Grazie,
    Francesco
    L'FPM eXchange è un servizio offerto dalla .:. FPM .:., grazie al quale si ottiene uno scambio banner di 88x31 pixel. Iscriviti ora, è gratis!

  2. #2
    Guest

    Predefinito

    1) memorizzi la data come timestamp unix (INT 10) e poi con date() ci fai quello che vuoi.

    2) mi sa che fai confusione tra VARCHAR e TEXT : il primo ha dimensioni massime di 255 caratteri in riga singole, il secondo no

  3. #3
    Guest

    Predefinito

    salvi la data con mktime() nel db e poi con date() imposti i valori cosi: date(d-M-y, $query) query naturalmente la devi cambiare con la tua query ecc...

  4. #4
    L'avatar di fpmbyfox
    fpmbyfox non è connesso Utente giovane
    Data registrazione
    25-08-2004
    Messaggi
    86

    Arrow

    Grazie per avermi risposto, ma confesso di avere ancora un pò di confusione in mente...

    vi mostro la tabella, ecco il campo "datadinascita" aiutatemi voi...


    Thanks

    Codice PHP:
    CREATE TABLE $tablename (
    id INT (5) UNSIGNED not null AUTO_INCREMENT,

    cognome varchar(50) NOT NULL default '',
    Nome varchar(50) NOT NULL default '',
    email varchar(30) NOT NULL default '',
    datanascita //mettetemelo voi per favore..
    Tipo varchar(50) NOT NULL default '',
    data DATE, // data registrazione
    ora TIME, // ora registrazione
    PRIMARY KEY (id)
    )
    TYPE=MyISAM";
    L'FPM eXchange è un servizio offerto dalla .:. FPM .:., grazie al quale si ottiene uno scambio banner di 88x31 pixel. Iscriviti ora, è gratis!

  5. #5
    Guest

    Predefinito

    Codice PHP:
    CREATE TABLE $tablename (
    id INT (5) UNSIGNED not null AUTO_INCREMENT,

    cognome varchar(50) NOT NULL ,
    Nome varchar(50) NOT NULL ,
    email varchar(30) NOT NULL ,
    datanascita varchar(50),
    Tipo varchar(50) NOT NULL ,
    data DATE varchar(50),
    ora TIME varchar(50) ,
    PRIMARY KEY (id)
    )
    TYPE=MyISAM";

  6. #6
    L'avatar di fpmbyfox
    fpmbyfox non è connesso Utente giovane
    Data registrazione
    25-08-2004
    Messaggi
    86

    Predefinito

    salve gente,

    mi scuso se non vi ho risposto subito, ma ho provato solo ora le modifiche consigliate...

    allora, riguardo la data, mi state consigliando di inserirla in una stringa alfanumerica, ci avevo già pensato ma preferivo usare il campo data....

    a parte ciò, riguardo il testo, "inverno" mi ha consigliato la text, io ho già un campo text, e ho provato a stamparvi il valore in tanti modi... ma niente, se il testo inserito era:

    "A
    B
    C
    D"

    il risultato, riprendendo il testo dal db è:

    "ABCD"

    come mai?
    L'FPM eXchange è un servizio offerto dalla .:. FPM .:., grazie al quale si ottiene uno scambio banner di 88x31 pixel. Iscriviti ora, è gratis!

  7. #7
    Guest

    Predefinito

    Per il text posta lo script

    Per le date se vuoi usare un campo date, poi esplodi il valore in array così poi ci fai quello che vuoi. Personalmente preferisco sempre un INT 10 dove mettere il time in unix-style

  8. #8
    L'avatar di fpmbyfox
    fpmbyfox non è connesso Utente giovane
    Data registrazione
    25-08-2004
    Messaggi
    86

    Predefinito

    ehm, inverno, vedo che sei ben preparato in materia... troppo forse...

    io sono alle prime armi...

    ecco come creo il campo

    messaggio TEXT NOT NULL default '',

    con la insert lo riempio... ho il form in una pagina htm, con la funzione post invio tutto ad una pagina php che contiene la query, fa la insert cosi:

    '".$message."'

    message è il nome del capo testo nel form htm...

    Grazie della tua precedente risposta...
    L'FPM eXchange è un servizio offerto dalla .:. FPM .:., grazie al quale si ottiene uno scambio banner di 88x31 pixel. Iscriviti ora, è gratis!

  9. #9
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    per le andate a capo ovviamente HTML NON le interpreta (non le vedi immagino quando le mostri in una pagina php), come sai per andare a capo in html serve il tag <BR> (in XHTML "<BR />" che non fa male anche a html comunque... diciamo <BR>).
    Quindi devi prendere la stringa messaggio e sostituire tutte le occorrenze di "\n" (che è il carattere invio di una stringa) in "<BR>".
    Ora così al volo non sono sicurissimo ma penso che ti basti la funzione generica in php:
    Codice PHP:
    $messaggio = htmlspecialchars($_POST['message'], ENT_QUOTES);
    che dovrebbe convertirti QUALSIASI carattere (accentate e virgolette incluse) in entità HTML, quindi ti serve per TUTTO non solo le andate a capo, per es. ti converte una a accentata "à" nel corrispettivo html "&agrave;", che anche se spesso funziona uguale la "à", in questo modo non sbagli mai.
    Nel caso con il tuo form inviassi i dati non con <FORM ... method="POST"> ma normalmente in GET (default), allora devi sostituire "$_POST" con "$_GET" nella riga di codice php che ti ho suggerito sopra.
    Per le date ci sono innumerevoli modi, concordo con il versatilissimo INT (10) cioè il cosiddetto unix_timestamp che sono il numero di secondi a partire dal 1/gen/1970, con il numero intero nel campo della tabella ci puoi fare qualsiasi cosa. Per es. nella query di INSERT del record, al capo di data registrazione ti basterebbe mettere in MySQL l'espressione
    UNIX_TIMESTAMP()
    (ti valorizza il campo con l'intero che corrisponde alla date/time di oggi, più precisamente "questo istante")

    Se invece vuoi usare il tipo di dati mysql Date allora ti basta indicare nella query
    CURDATE()

    Quando possibile sempre usare le espressioni MySQL... per il resto del codice PHP che ti serve per le date prova a cercare qui nel forum se ne è parlato "mille mila" volte
    Ultima modifica di heracleum : 01-10-2005 alle ore 18.54.26
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da heracleum
    per le andate a capo ovviamente HTML NON le interpreta (non le vedi immagino quando le mostri in una pagina php), come sai per andare a capo in html serve il tag <BR> (in XHTML "<BR />" che non fa male anche a html comunque... diciamo <BR>).
    Nota: se il contenuto del campo TEXT è visualizzato in una textarea (ad esempio se guardi con phpmyadmin), i "\n" sono interpretati

  11. #11
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Ovvio, ma penso che in un contesto web, il 99% del contenuto -tranne in contesti di "editing"- lo si vuole mostrare semplicemente e direttamente nella pagina.
    E visto che si lamentava del fatto che le "andate a capo" NON venivano considerato ho dato per scontato che le stava "printando" sulla pagina e non in una textarea
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  12. #12
    Guest

    Predefinito

    se il print è sulla semplice pagina, più che htmspecialchars() userei nl2br() per trasformare le newline

    mavericck

  13. #13
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    certo, sarebbe la funzione essenziale che in effetti richiedeva fpm
    ma come spiegato su, visto che si converte non sarebbe male convertire anche altri caratteri in corrette entità html, come citavo, appunto, le accentate.
    Hai comunque fatto benissimo a proporre la scelta che soddisfa le precise richieste.
    per info:
    nl2br() come dice il nome stesso converte i caratteri "\n" (nl, NewLine) in "<br>".
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da heracleum
    Ovvio, ma penso che in un contesto web, il 99% del contenuto -tranne in contesti di "editing"- lo si vuole mostrare semplicemente e direttamente nella pagina.
    E visto che si lamentava del fatto che le "andate a capo" NON venivano considerato ho dato per scontato che le stava "printando" sulla pagina e non in una textarea
    infatti la nota era per fpmbyfox, visto che nè te, nè me conosciamo esattamente cosa vuole fare
    Citazione Originalmente inviato da heracleum
    nl2br() come dice il nome stesso converte i caratteri "\n" (nl, NewLine) in "<br>".
    Lo so un rompiballe, però nl2br aggiunge il tag <br> prima di "\n" non sostituisce...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •