Guma: DB-SQL-Ausgabe in ein Array schreiben statt als printf ausg.

Hallo SQL-Freunde,

ich will gerade mit PHP eine SQL-Datenbank auslesen und diese in ein Array schreiben. Die Ausgabe mit printf klappt schon. Leider weiss ich nicht, wie ich die Ergebnisse der DB in ein Array schreibe und dann als Variable ausgeben kann.

So sieht meine schleife aus, die ausgibt:
while ($db->next_Datensatz())
{ printf("<A title="%s" href="%s?kid=%s">%s</A>",$db->f("kat"),"unterbereiche.php",$db->f("kid"),$db->f("kategorie"));
}

Hier gebe ich die Ergebnisse direkt aus. Wie bekomme ich aber die Ergebnisse in eine Variable als Array?

Guma

  1. So sieht meine schleife aus, die ausgibt:
    while ($db->next_Datensatz())
    { printf("<A title="%s" href="%s?kid=%s">%s</A>",$db->f("kat"),"unterbereiche.php",$db->f("kid"),$db->f("kategorie"));
    }

    jeder datensatz ist ja wieder ein array für sich.
    deswegen brauchst du 2 verschachtelte arrays.

    $main_array = array();

    in der while schleife dann
    while()
    {
    $hilsarray = array($db-f("kid"),$db->f("kategorie"));
    array_push($main_array, $hilfs_array);
    }

    zur ausgabe kannst du dann über das $main_array iterieren, oder
    direkt zugreifen:

    $main_array[0][0]: 1. datensatz, wert von $df->f("kid")

    ich hoffe ich konnte helfen.

    mfg

    lars

    1. Hallo Lars,

      danke für deine Hilfe. Ich konnte das ganze soweit umsetzen, das das Array geschrieben wird. Jetzt bekomme ich die Ausgabe nicht hin. Klasse wäre eine Ausgabe wie mit printf oben. Kannst Du mir da weiterhelfen?

      echo "$main_array[0][0]"; // geht nicht!
      Ergebnis (Ausgabe): array[0] statt des Inhalts.

      1. Noch ein test. gibt leider nicht das richtige aus...

        echo implode("\n", $main_array);

        Array Array Array Array Array  ist das ergebnis.

        guma

        1. Hallo,
          der grund ist ganz einfach, du hast ein Array in noch einem Array ... so gibt er bei implode immer Array aus, da in dem $main_array nur arrays drin sind....

          Lösen kannst du es mit zwei foreach schleifen:
          <?php
          foreach($mein_array as $hilfarray) {
             foreach($hilfsarray as $inhalt) {
                echo $inhalt;
             }
             echo "<br>";
          }
          ?>

          Versuch es mal aus, ich glaube es sollte funktionieren ;)

          Weitere Infos zum Array findest du hier:
          http://php.codermeet.de/einf_array.php

          MfG
          Valentin

          --
          http://www.codermeet.de