PHP - Mehrdimens. Array



  • Ich bekomm gleich nehn Anfall! Hab schon lange nix mehr in PHP gemacht und brauch jetzt mal schnell ein Mehrdim. Array.

    Aber irgendwie klappt die Ausgabe net hier der Code:

    <?php
      //Array für alle LinkOrdner erstellen
      $MainArray = array();
    
      $SQL ="SELECT * FROM link_ordner WHERE parent_id = $search_id ORDER BY name";
      $Result = @mysql_query($SQL, $db);
    
      if ($Result)
      {
        $zz = 0;
        while($Row = mysql_fetch_array($Result))
        {
          $MainArray[] = array("id"=>$Row[id], "parent_id"=>$Row[
        }
      }
    
      for ($n=0; $n < count($MainArray); $n++)
      {
        $list = each($MainArray[$n]);
    
        print("<div>\n");
    
        print("<table border=0 width=\"570\">\n");
        print("<tr>\n");
        print("<td>");
        print("<b>"+ $list["ordner"] +"</b>");
        print("</td>\n");
        print("</tr>\n");
        print("</table>\n");
    
        print("</div>\n");
      }
    
    ?>
    

    Entdeckt vielleicht einer von euch den Fehler. ich bekomme also ordner immer 0 obwohl da ja die Ordnernamen stehn sollten.



  • 1.) Man sollte bei SQL-Abfragen möglichst kein * verwenden

    2.) Werte wie $search_id sollte man möglichst auch in '' einschließen

    3.) Hier fehlt doch am Ende noch was:

    MainArray[] = array("id"=>Row[id], "parent_id"=>$Row[

    4.) Ich würde bei Arrays den Key in '' setzten

    5.) ich finde foreach viel schöner

    foreach($MainArray as $list) 
    { 
      // [...]
      print('<b>'.$list['ordner'].'</b>'); 
    }
    

    6.) In PHP wird als Verkettungsoperator . verwendet, nicht +



  • Danke das mit dem . Operator hat ich glatt vergessen. jetzt gehts auch.


Anmelden zum Antworten