Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271

    problema export db in csv

    Ho un problema nell'esportare alcuni dati dal database mysql ad un file csv, il problema è che una delle colonne contiene dei valori che comprendono il ";" e il "\n" quindi questo mi fà saltare la formattazione del file csv. Il codice che uso è questo:

    codice:
    $i=3;	// numero dei campi da esportare
    $csv_output = "nome; descrizione; argomento; \n";
    			
    $values = mysql_query("SELECT nome, descrizione, argomento FROM tabella");
    while ($rowr = mysql_fetch_row($values)) {
    	for ($j=0;$j<$i;$j++) {
    		$csv_output .= $rowr[$j]."; ";
    	}	
    	$csv_output .= "\n";
    }
    			
    $filename = "export_".date("d-m-Y",time());
    header("Content-type: application/vnd.ms-excel");
    header("Content-disposition: csv" . date("Y-m-d") . ".csv");
    header("Content-disposition: filename=".$filename.".csv");
    print $csv_output;
    un'esempio di dati contenuti nel campo descrizione è questo:

    codice:
    
    r2</p>
    
    
    <embed type="image/svg+xml" src="/plugins/asciisvg/js/d.svg" style="width: 300px; height: 200px; vertical-align: middle; float: none;" sscr="-7.5,7.5,-5,5,1,1,1,1,1,300,200" /></p>
    
    
    aaaa</p>
    quando estrae, ad esempio, questi dati và 3 volte a capo e riempie diverse colonne, una per ogni ";", quando invece dovrebbe stare tutto all'interno di una sola cella del file csv... come posso risolvere?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    cambiando alcune cose sono riuscito a risolvere, ma avrei una domanda più importante... dovendo esportare 4 tabelle con dei campi in comune in questo modo:

    tabella 1 - tabella 2 | hanno in comune l'id della tabella 1
    tabella 2 - tabella 3 | hanno in comune l'id della tabella 2
    tabella 3 - tabella 4 | hanno in comune l'id della tabella 3

    come posso esportarle in un unico file csv facendo in modo di poterle importare dopo? ho provato a fare un join delle tabelle escludendo i campi che contengono gli id e fin qui tutto ok, ma poi non so come importare questi dati... perchè per ogni riga del file csv i primi X campi devono essere inseriti nella tabella 1, gli altri X campi nella tabella 2, etc. Rimuovo gli id durante l'export perchè durante l'import devono essere assegnati dei nuovi id (auto_increment).
    Quindi dovrei importare i primi X campi della riga e salvarli nella tabella 1, ottenere un id e procedere con l'inserimento degli altri campi nella tabella 2 inserendo anche l'id della tabella 1, ottenere un id etc. etc.
    Non so se sono stato chiaro :master:
    Spero in qualche consiglio...

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