Probleme mit array_pop()

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

  • Probleme mit array_pop()

    Ich lese aus einer Datenbank Einträge aus und möchte den letzten Wert des Arrays mit array_pop(); kürzen. In meinem Beispiel wird immer noch ein zweites leeres Array ausgegeben, obwohl es nur einen Datensatz gibt.

    PHP-Code:
        unset($row);
        
    $row = array();
        
        
    $query "
            SELECT *
            FROM artikel
            WHERE warengrupp = '
    $warengrupp'
            AND untergrupp1 = '
    $untergrupp1'
            AND untergrupp2 = '
    $untergrupp2'
            ORDER BY bezeichnun, preis1 ASC
        "
    ;    
        
        
    $result mysql_query($query);

        while(
    $row[] = mysql_fetch_assoc($result));

        
    $row[] = array_pop($row);

        
    print_r($row);

     
    // print_r($row) ergibt:
    Array
    (
        [
    0] => Array
            (
                [
    artikelnum] => 36.609
                
    [bezeichnun] => AktionQuicken 2006 dtCD Win inklQuick Steuer 2006
                
    [zusatztext] => 
                [
    warengrupp] => Finanzen
                
    [untergrupp1] => Privat
                
    [untergrupp2] => Ich
                
    [ordnungsnum1] => 1
                
    [ordnungsnum2] => 2
                
    [ordnungsnum3] => 1
                
    [preis1] => 44.000
                
    [bild] => 06830.jpg
                
    [porto] => 0
                
    [id] => 1
            
    )

        [
    1] => 

    Wo liegt mein Fehler?
    » http://www.htaccess-generator.com

  • #2
    rtfm

    PHP-Code:
    $row array_pop($row); 

    Kommentar


    • #3
      Logisch, da Du in Deiner While Schliefe keine klammern verwendest, wird nach Abbruch der Schleife das $row Array nochmal ausgegeben. und das ist ja leer, was in der Bedingung der While Schleife ja auch festgestellt wurde.
      Ups auf die schnelle verlesen...Stimmt das Pop funktioneirt etwas anders, als du es benutzen wolltest.

      Kommentar


      • #4
        wenn ich
        PHP-Code:
        $row array_pop($row); 
        schreibe, dann wird überhaupt nichts mehr ausgegeben.
        » http://www.htaccess-generator.com

        Kommentar


        • #5
          Wie wäre es, einfach zu schreiben:

          PHP-Code:
          array_pop($row); 
          Schließlich willst du nicht das letzte Element sondern das gekürzte Array, oder? Mit deinem Code erleichterst du das Array erst um das letzte Element um es dann mit "$row[] = ..." wieder hinten anzuhängen...

          siehe: array_pop

          Kommentar


          • #6
            PHP-Code:
            while($row[] = mysql_fetch_assoc($result));
            $last array_pop($row);
            print_r($row); 
            und so ? =)

            Kommentar


            • #7
              gewöhn dir bitte an bei while, for, foreach, if ifelse etc immer geschweifte klammern zu setzetn.

              danke
              2 meiner pages:

              Kommentar


              • #8
                danke es funktioniert jetzt. warum soll ich bei den schleifen immer geschw. klammern setzen wenn ich es doch mit $row[]... auslesen kann?
                » http://www.htaccess-generator.com

                Kommentar


                • #9
                  nur so. es steigert die übersichtlichkeit und verhindert unnötige parse errors
                  2 meiner pages:

                  Kommentar

                  Lädt...
                  X