Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mehrdimensionales Array auslesen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Mehrdimensionales Array auslesen

    Hallo,

    leider komme ich mit mehrdimensionalen Arrays immer noch nicht klar und bekomm es nicht ausgelesen

    Das Array sieht folgendermaßen aus
    Code:
    Array
    (
        [name] => Array
            (
                [1] => Dekoration
                [2] => Technik
                [3] => Turnhalle
                [4] => Forumscafé
                [5] => Ordnungsdienst
                [6] => Getränkeverkauf
                [7] => Sonstiges: Ich helfe, wo ich gebraucht werde!
            )
    
        [description] => Array
            (
                [1] => Beschreibung
                [2] => Beschreibung
                [3] => Beschreibung
                [4] => Beschreibung
                [5] => Beschreibung
                [6] => Beschreibung
                [7] => Beschreibung
            )
    )
    Nun möchte ich die Arrays in Radiobuttons ausgeben:
    PHP-Code:
    foreach ($services as $key=>$value)
    {
        echo
    '<li>
        <input type="radio" name="service1" id="service1" value="'
    .$key.'" />
        <input type="radio" name="service2" id="service2" value="'
    .$key.'" />
        '
    .$value['name'].' (<a class="info" href="#">Beschreibung<span>'.$services['description'].'</span></a>)
        </li>'
    ;

    Leider klappt das nicht, ich komme nicht an die "UnterArrays" dran. Wenn ich
    PHP-Code:
    foreach ($services['name'] as $key=>$value
    schreibe, komme ich innerhalb der foreach-Schleife nicht mehr an $services['description'] dran.

    Habt ihr eine Idee?

  • #2
    PHP-Code:
    foreach ($services['name'] as $key=>$value){
    echo 
    $value.': '.$services['description'][$key];

    Signatur:
    PHP-Code:
    $s '0048656c6c6f20576f726c64';
    while(
    $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

    Kommentar


    • #3
      Dein Array ist einfach falsch aufgebaut!

      Code:
      Array
      (
          [0] => Array
              (
                  [name] => Dekoration
                  [description] => beschreibung
              )
      
          [1] => Array
              (
                  [name] => Turnschalle
                  [description] => Beschreibung
              )
      )
      Dann kannte mit foreach das Array durchgehen und kannst dann immer $value['description'] und $value['name'] verwenden.

      Kommentar


      • #4
        Zitat von maeck Beitrag anzeigen
        PHP-Code:
        foreach ($services['name'] as $key=>$value
        schreibe, komme ich innerhalb der foreach-Schleife nicht mehr an $services['description'] dran.
        NA ja. du musst den $key auch ans $services['description'] mit uebergeben ~>

        PHP-Code:
        foreach ($services['name'] as $key=>$value){
           echo 
        $services['description'][$key];

        Kommentar


        • #5
          Dein Array ist einfach falsch aufgebaut!
          falsch ist übertrieben ... nur recht sinnfrei ...
          Zitat von ByStones Beitrag anzeigen
          PHP-Code:
          foreach ( $services ['name'] as $key => $value ) {
              echo 
          $value ': ' $services ['description'] [$key];

          so gehts eh zum auslesen, nur halt etwas komplierter ...
          PHP-Code:
          if ( $humans >= ) {
             
          war ();

          Kommentar


          • #6
            Ja aber total "unverständlich". Wieso nicht gleich das Array so erstellen dass es auch entsprechend Sinn macht.

            Kommentar


            • #7
              Danke euch!

              Jetzt weiß ich wenigstens, wie man so ein "unverständliches" Array auslesen könnte. Werde mich dennoch dafür entscheiden, es direkt "verständlicher" und sinnvoller zu erstellen.

              Gruß Marcel

              Kommentar


              • #8
                Nun habe ich doch noch eine Frage dazu.

                Ich fülle das Array wie folgt:
                PHP-Code:
                $sql sprintf("SELECT * FROM `%sservices` WHERE `active`='1' ORDER BY `serviceid` ASC ",$prefix);
                $result $db->query$sql );
                                
                while ( 
                $row $result->fetch_object() )
                {
                    
                $confServices[$row->serviceid] = array('name' => $row->name
                                                           
                'description' => $row->description);
                }; 
                Dabei gebe ich für das innere Array den "key"-Namen per Hand als String ('name') ein. Gibt es die Möglichkeit, die Spaltennamen, die aus der MySQL-Abfrage kommen, automatisch zu verwenden?

                Kommentar


                • #9
                  Ja. Schon gegooglet?
                  [COLOR="#F5F5FF"]--[/COLOR]
                  [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                  [COLOR="#F5F5FF"]
                  --[/COLOR]

                  Kommentar


                  • #10
                    Zitat von nikosch Beitrag anzeigen
                    Ja. Schon gegooglet?
                    Ehrlich gesagt ... nein. Leider weiß ich auch nicht, nach welchen Begriffen ich suchen sollte.

                    Kommentar


                    • #11
                      Les doch mal ganz normale Tutorials zu MySQL/PHP durch. Da siehste das dann relativ schnell. Und anstatt "fetch_object" vlt. mal "fetch_array" probieren.

                      Kommentar


                      • #12
                        Zitat von Flor1an Beitrag anzeigen
                        Les doch mal ganz normale Tutorials zu MySQL/PHP durch. Da siehste das dann relativ schnell. Und anstatt "fetch_object" vlt. mal "fetch_array" probieren.
                        Wenn ich die MySQL-Engine verwenden würde, dann würde ich es wohl mit mysql_field_name versuchen. Aber in der MySQLi-Engine scheint es das nicht zu geben.

                        Dann werde ich wohl vorerst bei der manuellen Methode bleiben, bis ich ein MySQLi/PHP -Tutorial gefunden habe, das darauf näher eingeht. Denn die vier, die ich bisher gelesen habe, haben die Eingabe der Spaltennamen auch immer manuell gemacht.

                        Gruß Marcel

                        Kommentar


                        • #13
                          PHP: mysqli_result::fetch_field - Manual
                          [COLOR="#F5F5FF"]--[/COLOR]
                          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                          [COLOR="#F5F5FF"]
                          --[/COLOR]

                          Kommentar


                          • #14
                            Und fetch_field ist wieder etwas anderes. Du möchtest doch ein Array haben bei dem die Keys die Spaltennamen sind oder nicht? Dann ist fetch_array genau das richtige ... hast du überhaupt einmal ins Handbuch geschaut was es damit aufsich hat?

                            Kommentar

                            Lädt...
                            X