dedlfix: Tabellarische Darstellung von Daten aus einer DB

Beitrag lesen

echo $begrüßung;

Was ich allerdings nicht so ganz verstehe ist, warum ich denn nun in der while-Schleife nochmal einen Array erstellen musste.

Einen Array erhalte ich doch auch wenn ich folgendes mache:

$persons = mysql_fetch_array($dbResultQuery);
kann ich auf diesem Array nicht genauso drauf arbeiten?

Damit bekommst du ein Array mit _einem_ Datensatz.

($persons müsste eigentlich nur $person heißen, weil nur die Daten einer Person enthalten sind. Ich bennene das mal im Folgenden um. $persons ist dann das Array, das vor der while-Schleife initialisiert wurde: $persons = array(); )

Nach einem

$person = mysql_fetch_array($dbResultQuery);  // [1]

sieht $person so aus, als ob es so initialisiert wurde:

$person = array(
    'Name' => 'Meier',
    'Vorname' => 'Max',
    'BildURL' => 'http://...');

Diese musst du in ein weiteres Array packen, damit du später einen gleichzeitigen Zugriff auf alle Personen bekommst. Die while-Schleife holt alle Datensätze ab und hängt sie an das $persons-Array an:

$persons[] = $person;

Das ergibt solch ein verschachteltes Array.

$persons = array(
    0 => array(
      'Name' => 'Meier',
      'Vorname' => 'Max',
      'BildURL' => 'http://...'),
    1 => array(
      'Name' => 'Müller',
      'Vorname' => 'Manfred',
      'BildURL' => 'http://...'),
    2 => array(...) );

Und nun gehen solche Dinge wie

echo $persons[$i]['Name'];
  echo $persons[$i + 2]['Vorname'];

echo "$verabschiedung {$persons[0]['Nickname']}";