assoziative zweidimensionales Array???

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

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

    Comment


    • #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...

      Comment


      • #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>';
        }
        Last edited by Titus; 09-05-2002, 19: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.

        Comment

        Working...
        X