Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Probleme beim richtigen Array-füllen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Probleme beim richtigen Array-füllen

    Hallo ihr lieben, ich habe ein großes Problem ein Array zu füllen.

    Ich erwarte aus der DB 4 Werte:

    ID
    Name
    Logo
    Active
    Kurz

    Es handelt sich hierbei um Länder.
    Nun möchte ich diese Länder jeweils als Array in ein anderes Array tun was ich am ende dann returnen kann.

    Wie kann ich das am besten anstellen?

  • #2
    Wie soll den das Array aussehen wenn du es zurückgibst?

    Kommentar


    • #3
      array( "GER", "Deutschland", "ger.jpg", "1");
      array( "ENG", "England", "eng.jpg", "2");

      So ungefähr. Das Array was ich returne soll je nachdem wie viele Datensätze ich in der DB habe, weitere Array enthalten mit den eigentlich werten!

      Kommentar


      • #4
        PHP-Code:
        $output = array( );
        while( 
        $row mysql_fetch_assoc$result ) )
        {
          
        $output[ ] = array(
            
        $row'kurz' ],
            
        $row'name' ],
            
        $row'Logo' ],
            
        $row'ID' ]
          );
        }
        mysql_free_result$result );

        /*
        ** Output währe sowas:
        ** $output = array(
        **   0 => array( 
        **     0 => 'GER',
        **     1 => 'Deutschland',
        **     2 => 'ger.jpg',
        **     3 => 1
        **   ),
        **   1 => array(
        **     0 => 'ENG',
        **     1 => 'England',
        **     2 => 'eng.jpg',
        **     3 => 2
        **   ),
        **   etc
        ** ); 

        Kommentar


        • #5
          vielen Dank.

          Aber dieses mysql_free_result seh ich zum ersten mal. Ab wann lohnt es sich den Speicher frei zu räumen?

          Kommentar


          • #6
            Zitat von braschi Beitrag anzeigen
            vielen Dank.

            Aber dieses mysql_free_result seh ich zum ersten mal. Ab wann lohnt es sich den Speicher frei zu räumen?
            nach jedem Select Statement

            Dann bitte noch das Thema als [Erledigt] markieren. Danke.

            Kommentar


            • #7
              öhm dann kann er auch gleich mysql_fetch_row benutzen...

              Kommentar


              • #8
                Hmmm das füllen hat wunderbar geklappt nur beim auslesen läuft was nicht so wie es soll. Muss da irgendwo einen Denkfehler drin haben: wenn ich das returnte Array ausgebe steht drin:

                Array ( [0] =>
                Array ( [0] => 1 [1] => GER [2] => Deutschland [3] => /images/ger.jpg )
                [1] =>
                Array ( [0] => 2 [1] => ENG [2] => England [3] => /images/eng.jpg ) )

                So ist das ja richtig. Wenn ich nun aber die Ausgabe haben ,möchte:

                PHP-Code:
                countrys getCountrys();
                $count getCountryCount();
                echo 
                $count;
                print_r($countrys);
                    
                    for (
                $i=0;$i=$count-1;$i++ ) {
                        echo 
                $countrys[$i][0];
                    } 
                bekomme ich nur den count und ganz oft hintereinander die ID von england also 2. Bis Firefox abstürzt. Wißt ihr vielleicht woran es liegt?

                Kommentar


                • #9
                  $i=$count-1
                  fällt dir daran nichts auf?

                  Kommentar


                  • #10
                    Nimm bitte statt einer for-Schleife eine foreach-Schleife. Diese sind speziell ausgelegt, um eine Liste etc. zu iterieren.

                    Außerdem hast du
                    PHP-Code:
                    $i=$count-
                    geschrieben. Das müsste aber
                    PHP-Code:
                    $i==$count-
                    heißen.

                    Kommentar


                    • #11
                      @fritz_07: bei $i==$count-1 wird die schleife sicher gar nicht mehr ausgeführt, das sollte wohl eher $i<=$count-1 bzw. $i<$count heissen

                      Kommentar


                      • #12
                        @cycap: Danke für die Berichtigung. Der Rest sollte aber richtig sein.

                        Kommentar


                        • #13
                          ohhh klar ==...man ich krieg die Krise^^

                          ja aber ich dachte wenn ich arrays in einem array hab ist eine foreach nicht so gut...Aber nun funktioniert ganz einfach ohne count^^

                          Kommentar


                          • #14
                            PHP-Code:
                            foreach($array as $key => $value){
                              echo 
                            $value[0];

                            das bisschen code macht das gleiche wie deiner da oben

                            Kommentar


                            • #15
                              Mit foreach wäre der Code in der Schleife nur geringfügig anders:
                              PHP-Code:
                              countrys getCountrys();
                              $count getCountryCount();
                              echo 
                              $count;
                              print_r($countrys);
                                  
                              foreach (
                              $countrys as $key => $value) {
                                  echo 
                              $value[0];

                              Und der Plural von country ist countries.

                              Kommentar

                              Lädt...
                              X