Hallo,
Mit dem angeführten Script werden Daten aus der merkmale.txt in die Tabelle merkmale geladen. Das funktioniert auch soweit sehr gut. Problem ist nun, wenn ich eine neue merkmale.txt habe und diese importiere, muss geprüft werden, ob es den Satz schon mal gibt oder nicht. Wenn nicht vorhanden soll er natürlich angefpgt werden ansonsten verworfen werden. Der primäre Key ist PNr, nach dem kann ausgewählt werden.
Kann ich das direkt im Query machen und wenn wie oder muss da php ran (und wenn wie)?
Gruß
Michael
Mit dem angeführten Script werden Daten aus der merkmale.txt in die Tabelle merkmale geladen. Das funktioniert auch soweit sehr gut. Problem ist nun, wenn ich eine neue merkmale.txt habe und diese importiere, muss geprüft werden, ob es den Satz schon mal gibt oder nicht. Wenn nicht vorhanden soll er natürlich angefpgt werden ansonsten verworfen werden. Der primäre Key ist PNr, nach dem kann ausgewählt werden.
Kann ich das direkt im Query machen und wenn wie oder muss da php ran (und wenn wie)?
PHP-Code:
<?php
//Datenbank verbinden
require_once ($root . "/functions/db_connection.php");
// einlesen der Datei
$datei = "merkmale.txt";
$csv = file($datei);// Liest die Datei zeilenweise in ein Array
foreach($csv as $value)
{
$parts = explode(";", $value);// Zerbrechen der Zeile anhand des Trenners ";"
$partquery = implode("','", $parts);
$partquery = "'" . $partquery . "'";
$query = "INSERT INTO merkmale (PNr, Bezug, Bez_Nr, Merkmal, Aktueller_Wert, Datentyp, Auswahl, Text, Wert, Einheit,
Kennzeichen, erstellt_am, erstellt_von, geaendert_am, geaendert_von) VALUES(" . $partquery . ")";
$result = mysql_query($query);
if (!$result)
{
die('Ungültige Abfrage: ' . mysql_error());
}
}
echo "Alle Datensätze wurden in die Datenbank importiert.";
?>
Gruß
Michael
Kommentar