Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    caricamento dati nel db da file txt

    Ciao , devo fare un sito di un aeroporto per un progetto universitario del corso di basi di dati.
    i voli devono essere caricati nel database mysql tramite uno script php che legge un file di testo formattato in questo modo:

    aeroporto-tab-compagnia-tab-numero volo-tab-ora decollo-tab-ora arrivo-tab-frequenza-tab-data1-tab-data2-newline-
    (le tablature fanno da reparatori tra i campi)

    es.:
    Lampedusa (LMP) MYAIR 8I 01019 09:10 11:05 -----S- 22/07/2006 16/09/2006

    il mio problema sono le due date finali: non posso passarle così come sono nella query perchè mysql accetta le date nella forma yyyy-mm-dd, mentre essendoci nel file l'anno in 4 cifre come ultima parte della data, questa viene ritenuta illegale da mysql e trasformata in '0000-00-00'.

    come faccio a scambiare di posto i l'anno e il giorno della data? ho provato usando strtotime e strftime, ma mi ritorna '70/01/01' per qualsiasi data...

    qualcuno ha qualche idea a riguardo???
    Gentlemen, DESTROY!!!

  2. #2
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    invece di usare il php usa direttamente le funzioni di mysql

    codice:
    DATE_FORMAT('04-10-1997', '%Y-%m-%d');
    http://dev.mysql.com/doc/refman/5.0/...functions.html

    ps: scrolla e guarda anche la GET_FORMAT

  3. #3
    grazie per il consiglio, ma non ho capito come usare quelle funzioni... :master:
    dalla console di mysql?
    il problema è che non possi inserire i dati a mano...
    Gentlemen, DESTROY!!!

  4. #4
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    è semplicemente una funzione MySQL invece che PHP. Ti basta inserirla nel codice.
    Se hai difficoltà posta la parte di codice in cui prendi dal txt la data e quella in cui fai la query di inserimento.

    Ipotizzando che tu sfrutti un ciclo while per verificare cosa restituisce il puntatore che scorre il file in questione devi fare una cosa di questo tipo:

    Codice PHP:
    while(!feof($handle)){
       
    //$data=prendi la data;
       
    $sql="INSERT INTO Table1 (Campo1, Campo2, CampoData) VALUES (" .$valore1.",".$valore2.", DATE_FORMAT(".$data.", '%Y-%m-%d')";
       
    //istruzioni successive     


  5. #5
    Grazie, il tuo suggerimento dovrebbe essere sufficiente, mi hai risparmiato un bel maldi testa!
    Gentlemen, DESTROY!!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.