assoziative zweidimensionales Array???

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

  • assoziative zweidimensionales Array???

    Hi Leute.

    Ich habe eine Tabelle für meine Benutzer mit Feldern wie ID, Nick, Namen, Email, Homepage.... etc.

    Jetzt möchte ich eine Memberlist auf der Seite anzeigen lassen. Dazu bräuchte ich o.g. 2dimensionales Array. Geht sowas??

    Hatte es bisher mit:
    PHP-Code:
    $sqlab "SELECT * FROM benutzer";
    $sqlab .= " ORDER BY registriert_am ASC";
    $sqlab .= " LIMIT $Anfangsposition,$Zeilen_pro_Seite";

    $res mysql_query($sqlab);
    $num mysql_affected_rows();

    $benutzer mysql_fetch_array($res,MYSQL_ASSOC); 
    versucht. Aber dann hat das Array $benutzer ja nur einen Eintrag. Es wäre also schön, wenn ich ein Array bei der DB-Abfrage beschreiben könnte, das $Zeilen_pro_Seite x Felder der Tabelle = Felder hat.

    Bin für jede andere Lösung auch offen

  • #2
    versuch's mal so :

    PHP-Code:
    <?php
    $mySQL_TB 
    "Benutzer";
    $sort_var "ID";    // Falls du sortieren möchtest
    $query mysql_query ("SELECT * FROM $mySQL_TB ORDER BY $sort_var"); // ansonsten ORDER BY $sort_var weglassen ..
    $anz mysql_num_rows($query); // Anzahl der Einträge zählen
    if ($anz == 0) print "Keine Records in der Tabelle $mySQL_TB gefunden<br>\n";
    else
    {
        while (
    $row mysql_fetch_assoc($query))
        {
            
    $i++;
            
    $ID[$i]            =    $row[ID];
            
    $Nick[$i]         =    $row[Nick];
            
    $Namen[$i]        =    $row[Namen];
            
    $Email[$i]        =    $row[EMail];
            
    $Homepage[$i]    =    $row[Homepage];
            
            
    $benutzer[$i] = array($ID[$i],$Nick[$i],$Namen[$i],$EMail[$i],$Homepage[$i]);
        }
    }
    ?>
    mfg DaPhreak
    If something's HARD to do,

    then it's not worth doing.
    (Homer J. (Jay) Simpson)

    Kommentar


    • #3
      Vielen Dank!

      habs jetzt so implementiert:
      PHP-Code:
      while ($benutzer mysql_fetch_array($res,MYSQL_ASSOC))
      {
        
      $Nickname        $benutzer["Nickname"];
        
      $eMail               $benutzer["Email"];
        
      $Homepage      $benutzer["Url"];
        
      $ICQ                 $benutzer["Icq"];
        
      $AIM                 $benutzer["Aim"];
        
      $MSN                $benutzer["Msn"];
        
      $Yahoo             $benutzer["Yahoo"];
        
      $registriert_am eu_datum($benutzer["registriert_am"]);

      //... Daten verarbeiten ...

      Der scheint die Zeilen in $res damit von Anfang bis Ende zu zählen => $i wird damit überflüssig. - Wenn ich mich irre, möge man mich korrigieren.
      Aber die Variable für das Sortierkriterium muss ich glaub ich auch noch rein machen - für später...

      Kommentar


      • #4
        Natürlich kann man auch in PHP zwei- (oder mehr-) dimensionale Arrays benutzen:

        while ($benutzer = mysql_fetch_array($res,MYSQL_ASSOC))
        $benutzer_array[] = $benutzer;

        // ... irgendwas ...

        foreach ($benutzer_array as $i=>$benutzer) {
        //... Daten verarbeiten ...
        }

        das Verarbeiten kann man auch so machen:

        for ($i=0; $i<count($benutzer_array); $i++)
        {
        echo $benutzer_array[$i]['ID'], ': ', $benutzer_array[$i]['Nick'], '<br>';
        }
        Zuletzt geändert von Titus; 09.05.2002, 20:08.
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar

        Lädt...
        X