Problem mit Array auslesen

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

  • TobiaZ
    antwortet
    letzter

    Einen Kommentar schreiben:


  • schlimmerfinger
    antwortet
    Original geschrieben von PHPbeginner
    Hmm ich hatte es mal ausprobiert und dann bekomm ich einfach die zweite und letzte Ausgabe.
    PHP-Code:
    function smilies(){
    $sql="SELECT *
        FROM smilies"
    ;
        
    $result mysql_query($sql) or die(mysql_error());
            while(
    $smilies mysql_fetch_assoc($result))
            {
            
    $ausgabe $smilies;
            }
            return 
    $ausgabe;

    Du überschreibst die Variabale $ausgabe immer wieder aufs neue Weisst Du überhaupt was eine Array
    ist...!?
    [FONT=courier new]Array[/FONT]
    EDIT:
    letzter

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    ersterer! :P

    @PHPbeginner: Brich mal deinen Code um. Wegen ein paar PHP-Kommentaren will ich hier nicht Scrollen!

    Einen Kommentar schreiben:


  • PHPbeginner
    antwortet
    Ehm ja ist mir auch aufgefallen.

    PHP-Code:
    $ausgabe[] = $smilies
    Ergebnis:
    Array ( [0] => Array ( [id] => 1 [pic] => arrow.gif [code] => :arrow: [comment] => An arrow ) [1] => Array ( [id] => 2 [pic] => biggrin.gif [code] => [comment] => Big grin ) )
    Jetzt stimmt aber mal die Funktion oder?

    Einen Kommentar schreiben:


  • prego
    antwortet
    ehm, dir ist schon klar, das du in deiner funktio die variable $ausgabe immerwieder überschreibst...

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    Knallst du hier einfach irgendwelche sachen in den code, oder nennst du das debuggen?

    Was erwartest du denn großartig, wenn du einen wert immer wieder überschreibst?

    geh deinen code mal im Kopf durch. ist doch nicht so schwer.

    Einen Kommentar schreiben:


  • PHPbeginner
    antwortet
    Hmm ich hatte es mal ausprobiert und dann bekomm ich einfach die zweite und letzte Ausgabe.
    PHP-Code:
    function smilies(){
    $sql="SELECT *
        FROM smilies"
    ;
        
    $result mysql_query($sql) or die(mysql_error());
            while(
    $smilies mysql_fetch_assoc($result))
            {
            
    $ausgabe $smilies;
            }
            return 
    $ausgabe;

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    nee, weil dann wird die schleife doch logischerweise abgebrochen.

    Einen Kommentar schreiben:


  • PHPbeginner
    antwortet
    @schlimmerfinger: Mein Kommentar oben war nur als Beispiel.

    @Tobiaz: Testausgabe:
    [CODE] Array ( [id] => 1 [pic] => arrow.gif
    Code:
     => :arrow: [comment] => An arrow )
    Also wenn ich alle Zeilen möchte, darf ich das return nicht in der while-schleife schreiben odeR?

    Einen Kommentar schreiben:


  • schlimmerfinger
    antwortet
    Original geschrieben von PHPbeginner
    PHP-Code:
    function smilies(){
    $sql="SELECT *
        FROM smilies"
    //Alle Spalten und Datensätze von der Tablle smilies abfragen
        
    $result mysql_query($sql) or die(mysql_error());
            while(
    $smilies mysql_fetch_assoc($result)) // Weist der Varieble $smilies einen Datensatz als Array zu.
            
    {
            return 
    $smilies// Gibt das Array zurück und beendet das skript
            
    }

    Original geschrieben von PHPbeginner
    PHP-Code:
    /*
    Das Array sollte dann ja etwa so aussehen:
    ID 1                           'Name'    => 'Max Gutensen',
                                      'Adresse' => 'Breitscheider Straße 11',
                                      'Ort'     => 'Bremen',
                                      'PLZ'     => 54893

    ID 2                           'Name'    => 'Lisa Meier',
                                      'Adresse' => 'Lautenschlager Straße 23b',
                                      'Ort'     => 'Stuttgart',
                                      'PLZ'     => 70499

    */ 
    Argh ich kapier das irgendwie wirklich nicht...
    Hä ich dachte du erwartest nur ['pic'] => "arrow.gif"

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    // Gibt das Array zurück
    Ja, aber überleg dir mal welches! Wurde dir übrigens auch schon gesagt! Wenn du nicht drauf kommst, dann mach noch mal ne Testausgabe!

    Das Array sollte dann ja etwa so aussehen:
    Wie kommst du darauf, dass das array mehrdimensional ist? Ich mein immerhin wird eine funktion beim return beendet.

    Einen Kommentar schreiben:


  • PHPbeginner
    antwortet
    PHP-Code:
    function smilies(){
    $sql="SELECT *
        FROM smilies"
    ;
        
    $result mysql_query($sql) or die(mysql_error());
            while(
    $smilies mysql_fetch_assoc($result)) // Speichert den Inhalt der MySQL Tabelle in ein Array
            
    {
            return 
    $smilies// Gibt das Array zurück
            
    }
    }
    /*
    Das Array sollte dann ja etwa so aussehen:
    ID 1                           'Name'    => 'Max Gutensen',
                                      'Adresse' => 'Breitscheider Straße 11',
                                      'Ort'     => 'Bremen',
                                      'PLZ'     => 54893

    ID 2                           'Name'    => 'Lisa Meier',
                                      'Adresse' => 'Lautenschlager Straße 23b',
                                      'Ort'     => 'Stuttgart',
                                      'PLZ'     => 70499

    */ 
    Argh ich kapier das irgendwie wirklich nicht...

    Einen Kommentar schreiben:


  • schlimmerfinger
    antwortet
    Bist Du dir da sicher das deine Funktion auch richtig ist. So wie sie jetzt ist, bekommst Du nur einen Datensatz geliefert.

    Original geschrieben von PHPbeginner
    Hmm also das Array ist ja $smily und ich will ja nur die spalte 'pics'.
    Warum ist deine MySQL Abfrage dann nicht dementsprechend!?

    Verwende lieber die [FONT=courier new]mysql_fetch_assoc()[/FONT] anstatt mysql_fetch_array().

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Original geschrieben von PHPbeginner
    Aber dann spuckt er mir ziemlich eigenartiges Zeugs aus:
    1 1 a a : : A A
    index-basierter zugriff auf die einzelnen elemente eines strings.
    wird eigentlich mit {i} gemacht, aus gründen der abwärtskompabilität aber auch noch mit [i] möglich.
    und genau das machst du - also sollte dir spätestens jetzt klar werden, dass das, worauf du da mit einem index zuzugreifen versuchst, eben keine arrays, sondern simple strings sind.

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    Iss sie aber nicht. Zumindest nicht für dein Vorhaben. Geh sie mal im Kopf durch. Programmieren hat viel mit logischem Genken zu tun...

    Einen Kommentar schreiben:

Lädt...
X