CSV/Excel 2 mySQL

Pixelschubser

Mitglied
Hi,

also ich suche eine Funktion oder ein Script, das mir meine xls oder csv Datei
in meine mySQL DB importiert.

Das eigentliche Problem ist das ich vor dem eigentlichem Import folgendes benötige:

Eine Tabelle mit 2 Spalten in der einen Spalte stehen bestimmte nicht alle Zeilen (Feldnamen) aus der mySQL Datenbank.
In der anderen Spalte stehen die Spaltennamen der CSV bzw XLS Datei am besten in einem Dropdownfeld.

Datenbank: | Datei:
Anrede | Dropdownfeld mit allen Spaltennamen der Datei.
usw...

So das ich auswählen kann welche Spalten der Datei welchen Spalten der Datenbank entsprechen. Das Problem ist das die Dateien nicht immer die selben Spalten haben, daher muss ich das beim Import der Daten zuweisen können. Hab das schon mal gesehen auf PHP Basis, finde es aber leider nicht mehr.

Jemand eine Idee, einen link oder eine Lösung für mich?

Danke!
 
Habe ich vor einer Stunde fertig geschrieben, vielleicht bringt Dich das weiter ...

Eine xls auszulesen wird wohl etwas schwieriger werden. Dazu habe ich pers. auch nichts im Netz gefunden.
PHP:
<?php
require('connect.php');
$datei="test.csv";

$dz=fopen($datei,"r");
$size=filesize($datei);
while ($data=fgetcsv($dz,$size,";")) 
	{
	 	$block .= $data[0].'|'.$data[1].'|'.$data[2].'|'.$data[3].'|'.$data[4].'µ';
	}
fclose($dz);
$array = explode('µ', $block);
$num = count($array)-2;
for($x=1;$x<$num;$x++)
	{ 
        $inarray=explode('|', $array[$x]);
				$result = mysql_query("SELECT * FROM  XXX  WHERE XXX '")or die(mysql_error());
				$anzahl	= mysql_num_rows($result);
				if($anzahl > 0)
					{
						echo 'UPDATE DATABASE '.$inarray[0];
					}
				else
					{
						echo 'INSERT DATABASE '.$inarray[0];
					}
		echo "<br />\n";
	}
?>
 
Zurück