Hi,
ich stehe vor einem größerem Problem und zwar habe ich 3 csv dateien mit Datenbanken zugeschickt bekommen. Diese sollen alle in eine Tabelle zusaammen gefasst werden.
In der 1. stehen ID, Name... (22.500 Datensätze)
In der 2. stehen ID und email (20.000 Datensätze)
In der 3. stehen ID, anschrift, kontodaten... (10.500 Datensätze)
Bis jetzt habe ich alle 3 csv dateien so aufbereitet dass ich jede in eine einzelne Tabelle hochladen konnte. Diese müssen nun zusammgeführt werden so dass am ende eine tabelle mit ID, Name, Email, Anschrift, Kontodaten vorhanden ist.
Ich hab es nun auch schon mit Schleifen versucht, allerdings dauert das natürlich ewig, gibt es eine einfachere Lösung?
Hier mein Code was ich bis jetzt habe, der auch funktioniert nur eine zu hohe Laufzeit hat.
Bin für jede Hilfe dankbar.
Gruß Micha
ich stehe vor einem größerem Problem und zwar habe ich 3 csv dateien mit Datenbanken zugeschickt bekommen. Diese sollen alle in eine Tabelle zusaammen gefasst werden.
In der 1. stehen ID, Name... (22.500 Datensätze)
In der 2. stehen ID und email (20.000 Datensätze)
In der 3. stehen ID, anschrift, kontodaten... (10.500 Datensätze)
Bis jetzt habe ich alle 3 csv dateien so aufbereitet dass ich jede in eine einzelne Tabelle hochladen konnte. Diese müssen nun zusammgeführt werden so dass am ende eine tabelle mit ID, Name, Email, Anschrift, Kontodaten vorhanden ist.
Ich hab es nun auch schon mit Schleifen versucht, allerdings dauert das natürlich ewig, gibt es eine einfachere Lösung?
Hier mein Code was ich bis jetzt habe, der auch funktioniert nur eine zu hohe Laufzeit hat.
PHP-Code:
<?php
error_reporting(E_ALL); //0 = public mode, E_ALL = development-mode
require_once ('_mysql.php');
require_once ('_config.inc.php');
$db = connect_mysql_db($host, $mysql_database, $user, $pass);
$sql = "SELECT * FROM tabelle1";
$daten = array (
'id' => ''
);
$abfrage = read_mysql_db($db, $sql, $daten);
$anzahl = count($abfrage);
$sql2 = "SELECT * FROM tabelle2";
$abfrage2 = read_mysql_db($db, $sql2, $daten);
$anzahl2 = count($abfrage2);
for ($i = 0; $i < $anzahl; ++$i){
foreach($abfrage2 as $key => $values){
foreach($values as $key2 => $values2){
if(in_array($abfrage[$i]['id'], $values)){
$datenpush = array(
'email' => trim($values2),
'id' => $abfrage[$i]['id']);
$sql3 = "UPDATE kb SET email = :email WHERE id = :id";
write_mysql_db($db, $sql3, $datenpush);
}
}
}
}
?>
Gruß Micha

Kommentar