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

    leggere da un file di testo ed importare in una tabella mysql

    utilizzo questo codice per importare da un file di testo i dati in una tabella sul db:

    $file_name="$dir/DOII.txt";
    $src = fopen( $file_name , 'r' ) ;

    while( !feof( $src ) )
    {
    $line = trim( fgets( $src , 4096 ) ) ; // Leggo una riga
    if ( $line != '' )
    {
    list( $var1 , $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11,
    $var12, $var13, $var14) = explode( ";" , $line ) ;

    $var3=addslashes ($var3);
    $var4=addslashes ($var4);

    $queryc = "INSERT INTO CONSULENTI (AEPROG, AERAGR, AEINDR, AELOCR, AEPROV,
    AECAP, AETEL1, AETEL2, AEFAX, AEMAIL, AECFIS, AEPIVA, AECERT, UTENTE )
    VALUES ('$var1', '$var2', '$var3', '$var4', '$var5', '$var6', '$var7',
    '$var8', '$var9', '$var10', '$var11', '$var12', '$var13', '$var14')";
    }
    $query3 = mysql_query($queryc, $db) or die ("$noneseguito");
    }

    volevo sapere se esiste un sistema pr fare la stessa cosa, senza dover elencare tutti i nomi della tabella e tutte le variabili.
    milka

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    dal separatore direi che sia un csv.....

    esiste una query nativa per importare un csv in mysql...
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3
    che vuol dire?
    a me serve che lo faccia una pagina di un pannello di controllo di un sito
    milka

  4. #4
    in pratica vorrei sapere se posso fare come ho fatto per l'operaizone contraria, ovvero per esportare una tabella mysql in un file di testo, scrivendo:

    $query = "SELECT * FROM $tabella_6 where MMSTATO='$valore_i' ";
    $ris = mysql_query($query);
    $str_Buffer="";

    while($rs=mysql_fetch_array($ris))
    {
    $campi = mysql_list_fields($db_name,$tabella_6);
    $colonne = mysql_num_fields($campi);
    for ($i = 0; $i < $colonne; $i++)
    {
    $str_Buffer.=$rs[$i].";";
    }
    $str_Buffer.="\n";
    }

    $fp = fopen("$dir_down/$mio_file","w");
    fwrite($fp, $str_Buffer);
    fclose($fp);

    e prende in automatico i campi senza doverglieli elencare tutti
    milka

  5. #5
    qualcuno mi risponde?
    milka

  6. #6
    LOAD DATA INFILE '/path/file.csv' INTO TABLE `tabella` FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r';

    http://dev.mysql.com/doc/refman/5.0/en/load-data.html
    Qualunque imbecille può inventare e imporre tasse. (Maffeo Pantaleoni)

  7. #7
    quindi devo scrivere
    $query="LOAD DATA INFILE '$file_name' INTO TABLE $tabella FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'";

    ho rpovato ma la pagina ci mette tanto a caricarsi e non fa niente
    milka

  8. #8
    probabilmente è un problema di path e privilegi.

    La directory di default è quella di mysql, quindi dovresti posizionare lì il file. In alternativa lo puoi caricare in /tmp, ma gli devi indicare il path completo.
    Qualunque imbecille può inventare e imporre tasse. (Maffeo Pantaleoni)

  9. #9
    io non ti seguo, che vuol dire è quella di mysql?
    io devo lanciare il comando da una pagina di un sito internet
    milka

  10. #10
    Nella pagina del manuale che ti ho linkato è spiegato tutto in modo molto dettagliato.
    Qualunque imbecille può inventare e imporre tasse. (Maffeo Pantaleoni)

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.