Ausgegebene Datensätze automatisch nummerieren

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

  • Ausgegebene Datensätze automatisch nummerieren

    Hallo zusammen,

    ich bin Anfängerin im PHP-Bereich und bastle gerade an einem MyBB-Forum. (Das heißt, in den PHP-Skripten wird i.d.R. kein HTML genutzt, da die Skripte in HTML-Templates übergeben werden.) Im Rahmen einer automatischen Liste lasse ich alle User ausgeben, die in einem Profilfeld eine bestimmte Auswahl getroffen haben:

    PHP-Code:
    <?php
    define
    ('IN_MYBB'1);
    define('THIS_SCRIPT''awzcharas.php');

    require 
    './global.php';

    add_breadcrumb('Alles was zählt-Charaktere');

    $charas_awz "";
    $charas_awz_bit "";

    $awzcharas $db->query("SELECT username, uid, usergroup, displaygroup FROM mybb_users
    INNER JOIN mybb_userfields
    ON mybb_users.uid = mybb_userfields.ufid
    WHERE fid21 = 'Alles was zählt'
    ORDER BY username ASC"
    );

    while(
    $result=$db->fetch_array($awzcharas)) {

    $username format_name($result['username'], $result['usergroup'], $result['displaygroup']);
    $uid $result['uid'];

    $awzcharalink build_profile_link($username$uid);

    $bgcolor alt_trow();

    eval(
    '$charas_awz_bit .= "'.$templates->get('charas_awz_bit').'";');

    }

    eval(
    '$page = "'.$templates->get('charas_awz').'";');
    output_page($page);

    ?>


    Die Ausgabe erfolgt zeilenweise in einer Tabelle. Nun würde ich gerne die Tabellenzeilen durchnummerieren, beginnend bei 1. Dank Google bin ich schon auf die Möglichkeit mit dem Zähler $i gekommen, bin aber unsicher, wie ich den in meinem Skript einbauen muss.

    Wäre für jede Hilfe dankbar. <3


    LG, Cara

  • #2
    ​ Hallo

    Du müsstest innerhalb der while-Schleife, eine for-Schleife implementieren, die von 0 bis n läuft und dir entsprechende Zeilen aufbaut.
    In $result stehen deine Einträge, mit denen du bequem eine Tabelle aufbauen kannst.
    Das Template müsste u. U. aufgerufen und angepasst werden, da du eine zusätzliche Spalte benötigst.​​

    Ein weiterer Ansatz wäre die Erweiterung deines Array um ein weiteres Feld mit den Indizes bzw. du erstellst ein Hilfsarray, der die Daten zusammenfasst.

    Viele Grüße

    Kommentar


    • #3
      Das mit der for schleife ist völliger quatsch. Die while schleife durchläuft bereits alle ergebnisse.Man muss nur noch mitzählen.

      schreibe in der zeile über while
      $i = 0;

      damit erzeugst du eine variable $i und gibst ihr zunächst den wert 0

      schreibe in die zeile unter while
      $i++;
      oder alternativ auch ausgeschrieben $i=$i+1;

      damit erhöhst du bei jedem durchlauf bevor irgendetwas anderes geschieht den wert von $i um 1.
      jeder durchlauf schließt den ersten durchlauf mit ein. dort wird also von 0 um 1 erhöht auf 1, sodass du wie gewünscht mit 1 tatsächlich zu zählen beginnst.

      wie du deinen zähler nennst, ist übrigens egal. er muss nicht $i heißen. Das i hat sich für kurzfristig benötigte zähler schon früh etabliert und steht kurz für integer , also ganzzahlenwerte. wenn du diesen wert weiter verwenden möchtest, solltest du lieber einen aussagekräftigen namen wie $zeilennummer verwenden.

      wie man diesen wert nun in wordpress in der Ausgabe verwendet, kann ich dir leider nicht erklären, da ich wordpress nicht gut genug kenne.
      schau dir dazu am besten mal das template charas_awz_bit an. vllt ist erkennbar oder du weißt sogar schon, wie die werte von username und uid dort weiterverwendet werden.

      Kommentar

      Lädt...
      X