Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44

    Doppia funzione importazione file + inserimento colonna data

    Salve ho dei problemi nell'inserire assieme ad un importazione di un file in txt nel database mysql anche un campo data che deve affiancare in contemporanea ogni riga importata.

    Mi spiego , con questo script

    //mysql_query("LOAD DATA LOCAL INFILE '" . $txtFile . "' INTO TABLE mia_tabella FIELDS TERMINATED BY ';' IGNORE 9 LINES");

    Inserisco il file txt nel database e mi outputizza :

    1 | 2 | 3 | 4 | DATA
    -------------------
    A | B | C | D |
    -------------------
    B | C | D | E |
    -------------------
    mentre vorrei riempire la colonna 5 con la varabile $data e utilizzerei questo script
    ma ottengo questo risultato

    1 | 2 | 3 | 4 | DATA
    -------------------
    A | B | C | D |
    -------------------
    B | C | D | E |
    -------------------
    2011-10-10
    invece di come vorrei

    1 | 2 | 3 | 4 | DATA
    -------------------
    A | B | C | D | 2011-10-10
    -------------------
    B | C | D | E | 2011-10-10
    -------------------
    Come dovrei aggiustare lo script secondo voi ?

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, se vuoi far corrispondere ad ogni riga una data non puoi utilizzare il metodo che hai scelto tu, in quanto il file viene caricato tutto in una volta nella tabella e non riga per riga. Se vuoi fare questo devi leggerti (a parte tramite un ciclo) riga per riga il file txt e a manetta aggiungere i campi presenti più la data che vuoi tu.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44
    con questo leggo il file riga per riga e mi stampa a video data e resto delle righe.
    Adesso ?

    <?php

    $datas=date("y-m-d");
    $file =("log/20$datas.log");

    $news=fopen("$file","r"); //apre il file
    while (!feof($news)) {
    $buffer = fgets($news, 4096);
    $sss=nl2br($buffer);
    $sss2="$sss 20$datas;";
    echo $sss2;

    }
    fclose ($news); #chiude il file


    ?>

  4. #4
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Adesso per ogni sss2 devi estrapolarti i campi 1 2 3 4 della tua tabella e inserirli con una query INSERT INTO, comprensivi di data.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44
    funzione explode ?

  6. #6
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Si, esatto penso sia la funzione più appropriata...ma la tua riga come è fatta?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44
    07:02;3;intestazione;773,9;380,4;

    con la data mi viene

    2011-10-05;07:02;3;intestazione;773,9;380,4;

  8. #8
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    ah perfetto allora ti basta un explode(";",$sss2)

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44
    esatto ho fatto cosi però mi dà un errore quando importo nel database

    <?php

    $datas=date("y-m-d");
    $file =("log/20$datas.log");

    $news=fopen("$file","r"); //apre il file
    while (!feof($news)) {
    $buffer = fgets($news, 4096);
    $sss=nl2br($buffer);
    //$sss2="$sss 20$datas;";
    echo $sss;

    }
    fclose ($news); #chiude il file

    $stringa = "$sss2";
    $array = explode(";",$stringa);
    echo $array[0];
    echo $array[1];
    echo $array[2];
    echo $array[3];
    echo $array[4];

    $db = mysql_connect('localhost', 'root', '');
    if (!$db) {
    die ('Non riesco a connettermi: ' . mysql_error());
    }

    $db_selected = mysql_select_db('database',$db);
    if (!$db_selected) {
    die ("Errore nella selezione del database: " . mysql_error());
    }

    echo 'co

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    44
    esatto ho fatto cosi però mi dà un errore quando importo nel database

    <?php

    $datas=date("y-m-d");
    $file =("log/20$datas.log");

    $news=fopen("$file","r"); //apre il file
    while (!feof($news)) {
    $buffer = fgets($news, 4096);
    $sss=nl2br($buffer);
    //$sss2="$sss 20$datas;";
    echo $sss;

    }
    fclose ($news); #chiude il file

    $stringa = "$sss2";
    $array = explode(";",$stringa);
    echo $array[0];
    echo $array[1];
    echo $array[2];
    echo $array[3];
    echo $array[4];

    $db = mysql_connect('localhost', 'root', '');
    if (!$db) {
    die ('Non riesco a connettermi: ' . mysql_error());
    }

    $db_selected = mysql_select_db('database',$db);
    if (!$db_selected) {
    die ("Errore nella selezione del database: " . mysql_error());
    }

    echo 'connesso

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.