Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Datetime

  1. #1

    Datetime

    Buon giorno a tutti.
    Dovendo eseguire un'operazione tra date devo poter utilizzare un campo che sia di tipo datetime.
    Ora la cosa che mi riesce difficile da capire è come far inserire attraverso una insert o un update una data e ora manualmente all'utente.

    ho provato ad eseguire un update ma l'ora non viene inserita:
    Codice PHP:
    $sql="UPDATE TBBAND SET DtInizioValidita= '2011-02-22 10:00'
    where CdBand = 'BD2011'"

    la data la inserisce bene ma l'ora no.

    ho il classico form:
    Codice PHP:
    <input type="text" id="txtDataValid" name="txtDataValid" maxlength="10" size="10" value="" />
    <
    input type="text" id="txtOraValid" name="txtOraValid" maxlength="5" size="5" value="08:00" disabled/> 
    insert:
    Codice PHP:
    $sql="INSERT INTO TBBAND (DtInizioValidita) values ($txtDataValid .' '.$txtOraValid)"
    Commetto qualche errore?
    Grazie mille :|

  2. #2
    Ciao,
    mancano i secondi, il formato datetime è

    yyyy-mm-gg hh:mm:ss

    (Y-m-d H:i:s)
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505

    Re: Datetime

    Codice PHP:
    $sql="INSERT INTO TBBAND (DtInizioValidita) values ('".$txtDataValid." ".$txtOraValid."')"

  4. #4
    salve ragazzi,grazie mille..
    allora inserendo anche i secondi non cambia nulla..
    ed eseguendo l'insert in quel modo, l'orario non lo inserisce.
    Praticamente ho:
    codice:
    2011-02-22 00.__.__
    Le proprietà del campo DtInizioValidita sono:
    - nametInizioValidita
    - type: datetime
    - lenght/set:
    - default:
    - not null: senza segno di spunta
    - autoincrement: senza segno di spunta

    Quindi?
    Grazie ancora

  5. #5
    Originariamente inviato da Magicale
    Ciao,
    mancano i secondi, il formato datetime è

    yyyy-mm-gg hh:mm:ss

    (Y-m-d H:i:s)
    MySQL legge le ore da destra verso sinistra se si immette l'ora senza
    separatori, quindi se si immette l'ora in questo modo (6 digit): 001224 troveremo 00:12:24,
    se si inserisce l'ora con solo 4 digit: 1224 si trovera' sempre 00:12:24.

    Le legge invece da sinistra verso destra se ci sono i separatori.
    quindi se invece si inserisce l'ora incompleta ma con il separatore es.: 12:24 troveremo 12:24:00.

    Quindi il problema e' nell'uso delle apici poiche' le date e le ore devono essere immesse come stringhe.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Originariamente inviato da piero.mac
    Quindi il problema e' nell'uso delle apici poiche' le date e le ore devono essere immesse come stringhe.
    grazie della risposta.
    scusa però inserisco la data e l'ora come stringa, ma quello degli apici non capisco proprio..
    cosi perchè non va bene?
    Codice PHP:
    $sql="INSERT INTO TBBAND (DtInizioValidita) values ('".$txtDataValid." ".$txtOraValid."')"
    cosi mi inserisce solo i secondi al posto delle ore, ma nei minuti e secondi non ho nulla:
    Codice PHP:
    $sql "INSERT INTO TBBAND (DtInizioValidita) values ('2011-02-22 12:24:25')";
    //valore nel campo: 2011-02-22 25.__.__ 
    mma...

  7. #7
    fermi tutti questa è una rapina...
    allora, funziona come postato in precedenza da Alhazred, il problema era che, al momento della visualizzazione della tabella TBBAND quindi nel campo interessato risultava questo valore:
    codice:
    2011-02-02 25.__.__
    mentre facendo poi una select mi restituisce il valore giusto:
    codice:
    2011-02-02 12.24.25
    Che dire...vi ringrazio come sempre alla prox

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.