Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Mssql - campo data

  1. #1
    Utente di HTML.it L'avatar di adiumx
    Registrato dal
    Jan 2005
    residenza
    Zurigo
    Messaggi
    353

    Mssql - campo data

    Ciao a tutti,
    ho un database mssql e una tabella che si chiama tblNews, e questa tabella ha una colonna chiamata "removeDate" di tipo data (ora non ricordo il nome esatto, ma e' il campo data).
    Ora, quando voglio fare un update o un insert into, su questo database, di una riga con remoteDate con il formato "d/m/Y" non me lo insertisce.Faccio un echo del $_POST['removeDate']; e mi esce la data formattata correttamente. Eppure non inserisce la data. E se faccio

    Codice PHP:
        $removeDate strftime("%d/%m/%Y",strtotime($_POST['removeDate']));  


              echo 
    strtotime($_POST['removeDate']); 
    non restituisce niente. Come mai? Qualche idea?

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Non si puo' inserire la data in formato d/m/Y , il campo date prevede AAAA-MM-GG pertanto va formattato cosi'. Prova a controllare.

  3. #3
    Utente di HTML.it L'avatar di adiumx
    Registrato dal
    Jan 2005
    residenza
    Zurigo
    Messaggi
    353
    Grazie,ma come lo cambio il formato? Ho provato ma non funziona (come vedi nel primo post).


    grazie per la risposta

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Non so come crei la data d'inseimento cmq devi prendere i dati del giorno mese anno e li formatti come una srtinga. Fammi sapere come crei la data e vediamo.

  5. #5
    Utente di HTML.it L'avatar di adiumx
    Registrato dal
    Jan 2005
    residenza
    Zurigo
    Messaggi
    353
    Tigra calendar, che inserisce la data selezionata nel campo text readonly (non possiamo pretendere che degli utenti debbano sempre scrivere nel campo, eh!

    fatto questo il campo text e' formattato secondo la formattazione di tutto il sito (ed e' piuttosto grandicello, la vedo dura cambiare il formato).

    COmunque viene passato alla pagina come $_POST['removeDate'] (con valore del genere "dd/mm/yyyy"
    nel primo post vedi come ho provato a cambiarlo, ma non funziona... bel problema

  6. #6
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Scusa ma prima della query non puoi formattarlo?? basta che lo ricomponi.
    prima dell'insert sicuramente arriva $_POST['removeDate'] con valore "dd/mm/yyyy" giusto?
    a questo punto lo formatti.
    Codice PHP:
    list($giorno,$mese,$anno) = explode('/',$_POST['removeDate']); 
    e poi lo ricomponi:
    Codice PHP:
    $_POST['removeDate'] = $anno."-".$mese."-".$giorno
    e lo inserisci.

  7. #7
    Utente di HTML.it L'avatar di adiumx
    Registrato dal
    Jan 2005
    residenza
    Zurigo
    Messaggi
    353
    Grazie mille, funziona...

  8. #8
    ciao, anche io ho un problema simile su un insert, utilizzo pear - MDB2 con l'estensione per mssql. Sul server con mssql la tabella ha due campi, CodiceArticolo e DataVarOra di tipo smalldatetime

    La query per interrogare la tabella è OK e mi restituisce una cosa del genere :

    script:
    # LETTURA DBASE #
    $CodiceArticolo="110403";
    $sql = "SELECT * FROM VarInterne WHERE CodiceArticolo='$CodiceArticolo'";
    $res =& $mdb2->query($sql);
    while (($row = $res->fetchRow())) {
    echo "$row[0] - $row[1]";
    }
    output:
    110403 - 2008-08-24 00:00:00
    Quando faccio l'insert o mi inserisce date fantastronomiche tipo 1905-06-10 oppure MDB2 mi resituisce syntax error. Ho provato a formattare 'a mano' la stringa ma non riesco. Ecco due esempi di query :
    # SCRITTURA DBASE #
    $CodiceArticolo = "650017";
    $DataOraVar = "2008-08-14 00:00:00";
    $sql = "INSERT INTO VarInterne (CodiceArticolo, DataOraVar) VALUES ($CodiceArticolo, $DataOraVar)";
    $affected =& $mdb2->exec($sql);
    if (PEAR::isError($affected)) {
    die($affected->getMessage());
    }
    output
    MDB2 Error: syntax error
    oppure:
    # SCRITTURA DBASE #
    $CodiceArticolo = "650017";
    $DataOraVar = "2008-08-14";
    $sql = "INSERT INTO VarInterne (CodiceArticolo, DataOraVar) VALUES ($CodiceArticolo, $DataOraVar)";
    $affected =& $mdb2->exec($sql);
    if (PEAR::isError($affected)) {
    die($affected->getMessage());
    }
    risultato sul dbase:
    650017 - 1905-06-10
    Ho provato ovviamente a mettere GG-MM-AAAA, GG/MM/AAAA e altre mille mila prove,
    mi dite come cavolo devo formattare la stringa per fare un insert corretto?

    grazie in anticipo per le risposte

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.