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?
                  --

                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                  --

                  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
                          --

                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                          --

                          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