Daten aus Text-File automatisch in die Datenbank schreiben

aherzog

Erfahrenes Mitglied
Hallo miteinander.

Ich brauche eure Hilfe.
Auf meiner Website möchte ich ein Text-File in ein Array schreiben und von dort in die Datenbank schreiben.
Bis jetzt bin ich soweit gekommen das die Daten aus dem Text-File in ein Array zu schreiben.
Nun weiss ich nicht mehr weiter, wie ich die Daten aus dem Array in die DB schreiben kann.

Hier ein Beispiel wie meine Text-Datei aussieht:
1 22 Lewis Hamilton McLaren-Mercedes 76 2:00:42.742 3 10
2 4 Robert Kubica BMW Sauber 76 +3.0 secs 5 8
3 2 Felipe Massa Ferrari 76 +4.8 secs 1 6
4 10 Mark Webber Red Bull-Renault 76 +19.2 secs 9 5
5 15 Sebastian Vettel STR-Ferrari 76 +24.6 secs 19 4
6 17 Rubens Barrichello Honda 76 +28.4 secs 14 3
7 8 Kazuki Nakajima Williams-Toyota 76 +30.1 secs 13 2
8 23 Heikki Kovalainen McLaren-Mercedes 76 +33.1 secs 4 1
9 1 Kimi Räikkönen Ferrari 76 +33.7 secs 2
10 5 Fernando Alonso Renault 75 +1 Lap 7

Mit folgenden Script werden die Daten in ein Array geschrieben.
PHP:
<?php
$txt = "result.txt";
$myresult = file($txt);
// print_r($myresult);
$my_array = array();
for ($i=0; $i<count($myresult); $i++) {
	$r = $myresult[$i];
	$r1 = explode("\t", $r);	
	array_push($my_array, $r1);
	// print_r($r1);
	}
?>
Ich muss dazu sagen das dieses Script nicht von mir geschrieben wurde. Ein ehemaiger Mitarbeiter hat mir dieses geschrieben.

Ausgabe des Arrays:
Array ( [0] => Array ( [0] => 1 22 J. Button Brawn GP / Mercedes B 55:30.622 31 ) [1] => Array ( [0] => 2 6 N. Heidfeld BMW Sauber / BMW B 55:53.344 + 22.722 31 ) [2] => Array ( [0] => 3 10 T. Glock Toyota / Toyota B 55:54.135 + 23.513 31 ) [3] => Array ( [0] => 4 9 J. Trulli Toyota / Toyota B 56:16.795 + 46.173 31 ) [4] => Array ( [0] => 5 23 R. Barrichello Brawn GP / Mercedes B 56:17.982 + 47.360 31 ) [5] => Array ( [0] => 6 14 M. Webber Red Bull Racing / Renault B 56:22.955 + 52.333 31 ) [6] => Array ( [0] => 7 1 L. Hamilton McLaren / Mercedes B 56:31.355 + 1:00.733 31 ) [7] => Array ( [0] => 8 16 N. Rosberg Williams / Toyota B 56:42.198 + 1:11.576 31 ) [8] => Array ( [0] => 9 3 F. Massa Ferrari / Ferrari B 56:47.554 + 1:16.932 31 ) [9] => Array ( [0] => 10 11 S. Bourdais Scuderia Toro Rosso / Ferrari B 57:12.786 + 1:42.164 31 ) [10] => Array ( [0] => 11 7 F. Alonso Renault / Renault B 57:20.044 + 1:49.422 31 ) [11] => Array ( [0] => 12 17 K. Nakajima Williams / Toyota B 57:26.752 + 1:56.130....... usw

Meine Frage dazu:
Wie kann ich nun dieses Array auslesen und die einzelnen Daten in die dafür vorgesehene Spalte in der DB schreiben
Also die 1 in die Spalte "Platz", die 22 in "Startnummer", J. Button in "Fahrernamen", Brawn GP / Mercedes in "Team", 55:30.622 in "Zeit", 31 in "Runden" usw....

Ich steh absolut auf dem Schlauch

Vielen Dank

Andy
 
Ich denke mit foreach kommst Du weiter:

Quelle: php.net
PHP:
<?php
/* foreach example 1: value only */

$a = array(1, 2, 3, 17);

foreach ($a as $v) {
    echo "Current value of \$a: $v.\n";
}

/* foreach example 2: value (with its manual access notation printed for illustration) */

$a = array(1, 2, 3, 17);

$i = 0; /* for illustrative purposes only */

foreach ($a as $v) {
    echo "\$a[$i] => $v.\n";
    $i++;
}

/* foreach example 3: key and value */

$a = array(
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "seventeen" => 17
);

foreach ($a as $k => $v) {
    echo "\$a[$k] => $v.\n";
}

/* foreach example 4: multi-dimensional arrays */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach ($a as $v1) {
    foreach ($v1 as $v2) {
        echo "$v2\n";
    }
}

/* foreach example 5: dynamic arrays */

foreach (array(1, 2, 3, 4, 5) as $v) {
    echo "$v\n";
}
?>
 
Zurück