• User Newbie

    Conversione formato data

    Salve a tutti, ho un problemino con un esercizio che sto svolgendo. In sostanza ho un file di testo che contiene un record di elementi da inserire in un database mysql. Ho eseguito l'esercizio in questo modo:

    [PHP]<?php

    include ("connect.php");

    $var = "file.txt";

    $righe = file($var);

    foreach($righe as $id => $valore){

    $arr = explode(";", $valore);
    
    $data = $arr[3]; 
    $data = trim($data);
    $data = str_replace("\"", "", $data);
    
    
    list($day, $month, $year) = explode ("/", $data);
    $arrdata = array();
    $arrdata[] = $year;
    $arrdata[] = $month;
    $arrdata[] = $day;
    
    $result = implode("-", $arrdata);
    echo $result;
    $arr[3] = $result;
    

    $dati = implode(",",$arr);

    $query = "INSERT INTO provadb.persone (ASScf, sesso, eta, datanascita) VALUES ($dati)";

    //echo $query;

    mysql_query($query) or die ("Query non riuscita");

    }

    ?>
    [/PHP]

    il mio problema sta nel formato della data, in quanto nel file di testo è del tipo "giorno/mese/anno" invece mysql lo accetta solo come "anno-mese-giorno". Con i controlli che ho inserito riesco a renderlo in quel formato però senza i doppi apici e mysql non lo accetta. Come posso risolvere?
    Grazie in anticipo per la disponibilità.


  • User Newbie

    Nessuno mi ha risposto, ma fortunatamente sono riuscito a trovare la soluzione da solo. Sono stato stupido a non arrivarci subito, è sufficiente una concatenazione di stringa del tipo

    $result = """.$result.""";

    In questo modo la query viene accettata da mysql e la data viene inserita.
    Adesso è uno script completo che legge un file di testo e ne inserisce gli elementi in un database mysql. Spero che posso essere d'aiuto a qualcuno; se qualcuno avesse dubbi, chiedete pure 🙂
    Lo script non è complicato e io sono ancora alle prime armi.