Visualizzazione risultati 1 fino 9 di 9

Discussione: Tipo variabile DATA nel MySql

  1. #1
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Question Tipo variabile DATA nel MySql

    salve, ho scoperto da poco il tipo di variabile DATA nel MySql.
    E' molto comodo dato che è più semplice memorizzare le date. Ora però mi chiedo, quando prendo i dati dal database, è possibile separare l'anno dal mese e dal giorno dal campo DATE della tabella???

    Mi spiego meglio. Con la funzione date() di PHP è possibile decidere cosa scrivere se l'anno il mese o il giorno a seconda dei parametri che si passando in parentesi.

    Codice:
    es. scrivendo date (Y) mi restituisce l'anno.
    Memorizzando la data nel MySql avrò il campo di tipo DATE che è così strutturato

    Codice:
    "yyyy-mm-dd" Y=anno, m=mese, d=giorno
    Quando recupero i dati con una variabile, posso far scrivere come con la funzione date() quello che mi serve???

    Codice:
    es. recupero i dati con 
    
    row=mysql_fetch_array($query);
    
    $row['data'] //sarà uguale a 2005-07-03
    come posso far scrivere solo il mese???
    Sempre che sia possibile farlo (ma penso di si altrimenti non ci sarebbe nessuna utilità ad usare il campo di tipo DATE)
    Chi troppo vuole....vuole LionAlex...

  2. #2
    Guest

    Predefinito

    l'uso del timestamp ti semplificherebbe ENORMEMENTE la vita

    con date("m",$timestamp);

    otterresti quello che cerchi

    per sapere cos'è il timestamp fai una ricerca qui sul forum,se ne è parlato poco tempo fa

    mavericck

  3. #3
    Guest

    Predefinito

    usi explode() e ti ritrovi un array con anno, mese, giorno. Come ha detto Mave, non è il metodo più pratico del mondo, ma se lo vuoi usare....

  4. #4
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    forse non hai capito bene cosa cerco

    con date(m) mi dice che mese è oggi.

    Nelle tabelle MySql è possibile settare un campo di tipo DATE (invece di TEXT) così da memorizzare all'interno la data.

    Però la data inserita nel database è così scritta "anno-mese-giorno"

    Io vorrei poter scrivere DALLA TABELLA, solo il mese o solo il giorno o solo l'anno. Vorrei in pratica poter usare il valore del campo come si usa la funzione date() del php. Ovviamente quelle nel database non sono le date attuali ma quelle di quando son state registrate nella tabella.
    Chi troppo vuole....vuole LionAlex...

  5. #5
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    Citazione Originalmente inviato da Inverno
    usi explode() e ti ritrovi un array con anno, mese, giorno. Come ha detto Mave, non è il metodo più pratico del mondo, ma se lo vuoi usare....
    scusa l'ignoranza, ma usando explode poi come recupero i dati? Potresti farmi un esempio??? grazie mille
    Chi troppo vuole....vuole LionAlex...

  6. #6
    Guest

    Predefinito

    Codice PHP:
    $arr=explode("-",$variabile_estratta_dal_db);

    // $arr[0] ti da l'anno
    // $arr[1] ti da il mese
    // $arr[2] ti da il giorno
    come detto non è il massimo della praticità comunque, col timestamp usi in INT di 10 cifre, e non un text

    Io vorrei poter scrivere DALLA TABELLA, solo il mese o solo il giorno o solo l'anno. Vorrei in pratica poter usare il valore del campo come si usa la funzione date() del php. Ovviamente quelle nel database non sono le date attuali ma quelle di quando son state registrate nella tabella.
    è per quello chè c'è il secondo parametro in date(), che indica alla funz che non deve restituire il valore corrente, ma quello ricavato dal timestamp passato dal db

    mavericck
    Ultima modifica di mavericckweb : 03-07-2005 alle ore 19.37.18

  7. #7
    Guest

    Predefinito

    Mah, io alla fine mica ho capito cosa vuoi fare...
    devi aggiornare il campo della tabella, leggerlo o cosa??

  8. #8
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    con explode dovrei risolvere...cmq ad onor di cronaca mi rispiego ancora meglio.
    Con le tabelle posso mettere un campo di tipo DATE così da memorizzare la data. Però la memorizza in questo modo "anno-mese-giorno"

    quindi quando leggo la riga con mysql_fetch_array mi ritrovo che la variabile $row['data'], dove data è il nome del campo di tipo DATE, sarà uguale alla data completa e quindi "anno-mese-giorno". Io volevo trovare il modo di leggere tutto il campo ma di scrivere solo il mese

    es. print ($row['data']) //scrive tutta la data
    print(????) //per scrivere solo il mese???
    Chi troppo vuole....vuole LionAlex...

  9. #9
    Guest

    Predefinito

    ah ecco, "scrivere" pensavo sul db, invece volevi la stampa a video
    Usa explode o al limite substr

Regole di scrittura

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