[PHP] Mehrdimensionales Array

Dominic

Well-known member
ID: 38
L
24 April 2006
577
27
Ich habe ein Problem mit einem mehrdimensionalen Array, dass ich vom Verständnis her nicht auf die Reihe bekomme. Vielleicht kann mir hier jemand helfen:

Ich habe eine MySQL-Tabelle mit den 3 Feldern id, name und email. Diese Felder lese ich aus und lege sie in einem Array ab.

PHP:
//Datenbankabfrage
$sql = "SELECT * FROM test;";
$result = mysql_query($sql) OR die(mysql_error());


//Ergebnis der Abfrage in Array ablegen
$list = array();
while ($row = mysql_fetch_assoc($result)) {
   $list[] = $row;
}

Nun möchte ich die Werte in einer Datei ablegen, die wie Excel die Angabe der Spaltennummer und Zeilennummer erwartet.

Beispiel: $worksheet->write(2, 0, 3); # Writes 3

Nun habe ich es mit einer Schleife probiert:
PHP:
foreach ($list as $i => $record) {
   $worksheet->write($i,$record['name'], $record['email']);

Das Problem ist, dass ich damit ja nur die Spaltennummer variere. Ich bräuchte wahrscheinlich noch eine zweite Schleife, die die Zeilen dann durchläuft. Ich weiss aber nicht wie ich das machen muss :-?

Ich bin für jeden Tipp dankbar.
 
Vermutlich sieht ein Aufruf der write()-Methode so aus:
PHP:
$worksheet->write($row, $column, $data);

Deshalb würde ich das so lösen:

PHP:
foreach ($list as $i => $record) {
    $worksheet->write($i, 0, $record['name']);
    $worksheet->write($i, 1, $record['email']);
}

Das ist nicht zufällig diese Klasse?

Greetz

paddya
 
Vielen Dank - das wars. Da habe ich wohl mal wieder etwas zu kompliziert gedacht, wenn es auch so einfach geht.

Von der Syntax her sieht es wirklich wie die PEAR-Klasse aus - es ist aber eine ähnliche Klasse: php_writeexcel