Fraktionsmitglieder auflisten

  • Hey,


    ich möchte Fraktionsmitglieder auflisten doch mir wird immer nur ein Name angezeigt.
    Ich weiß das ich mit einer While schleife arbeiten muss doch mir fehlt das Konkrete.
    Hier mein Aktueller Code:

  • Da fehlt ihm doch nicht nur eine While-Schleife. Alle Fraktionsmitglieder wird er damit ganz sicher nicht ausgeben können.


    Du brauchst eine Abfrage, die durch deine Datenbank in der richtigen Tabelle läuft und die Spalten "Fraktion" und "Name" durchläuft.
    Anschließend brauchst du ein Result, welches mit einer While Schleife durch die Ausgabe select_Result des Befehls läuft.
    In dieser Schleife lässt du dann alle mitglieder mit einem Echo ausgeben.


    Falls du weiterhin Probleme haben solltest, oder Verständnisse offen sind, kannst mir gerne eine Konversationsanfrage schicken.

  • Eigentlich nicht. Er muss nur die User Datenbank durchsuchen und jeden ausgeben der bei Fraktion den Wert der Fraktions ID hat.

    Und wie lässt man mehrere Benutzer in php ausgeben, wenn man nur einen Befehl verwenden möchte, um sparsam zu bleiben?
    Genau, mit einer Schleife. Und deshalb braucht er die Fraktion, den Namen und den Rank des Benutzers, welcher in der Benutzer-Tabelle gespeichert wird.
    Also einen Befehl, welcher durch die Benutzer-Tabelle schwirrt. Ansonsten bei C&P ist es kein dynamisches System.


    Hey,


    ich habe hier eine Table mit einer While schleife.
    http://pastebin.com/EFYB0QgS


    Mir wird bei jedem angezeigt das dieser Online ist obwohl das nicht stimmt.

    Dir werden alle Benutzer online angezeigt, weil du mit der Session arbeitest. Die Session nimmt allerdings nur die Daten DEINES Browsers an. Deshalb hat das ganze auch eine Session-ID.
    Du musst die Variable (Online) aus deiner Datenbank entnehmen. Also im Zweifelsfall in der Tabelle für die Benutzer eine neue Spalte anfügen, die als Beispiel online heißt.
    Wenn die Spieler jetzt aufm Game-Server online sind & die Profile geladen wurden, setzt du diesen Status z.B. auf "1" und wenn sie sich wieder ausloggen auf "0". Der Standardwert für die Erstellung der Tabelle kannst du auch auf "0" stellen.
    Anschlißend fragst du ab:


    PHP
    if(row['online'] == 1)
    {
        echo "Der Benutzer ist online";
    }
    else
    {
        echo "Der Benutzer ist offline";
    }

    Das ganze ergänzt du an dein Script und gut ist ^^

  • Also meine Datenbank struktur sieht so aus:
    http://www.fotos-hochladen.net…/dbstruktur24oersgkcz.jpg


    Ich möchte das so machen das der Leader die Ranknamen ändern kann.
    Doch ich weiß nicht so genau wie, da fid 7 x 2 ist und so das ich alle Update:


    //e
    @Pinguin Dev.
    @ChopperPM

    Einmal editiert, zuletzt von The Sensei ()

  • Also so?
    @Pinguin Dev.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Du musst deine Ränge einfach in einem Array übergeben.


    Also du musst halt ein ganzen Array übertragen und nicht für jeden einzelnen Rang eine neue Variable anlegen. Ein bisschen musst du deinen Kopf auch noch anstrengen :)

  • Nur, weil du alles in einer DB speicherst, heißt es doch nicht, dass PHP weis, wie du es machst.
    Du musst ein Array erstellen und die Namen auch in einem Array übergeben.
    Dann kannst du alles mit der Schleife verbinden und aktualisieren bzw. ausgeben.


    Einfach in der Form, wo du die Rangnamen aktualisieren lässt, ein Array als Namen angeben und anschließend aktualisieren.
    Köpfchen anstrengen habe ich gesagt.

  • Sorry aber ich kann dir nicht folgen da ich nie mit Array´s gearbeitet habe.
    Könntest du mir mein "System" umschreiben, da wäre ich dir dankbar und das vielleicht so kommentieren das ich daraus lerne.


    Ich weiß das man aus C&P nichts eig. nichts lernt doch ich benutze es zum lernen. Da ich mir ein System welches ich schon habe angucke und damit arbeite was drin ist und was ich brauche.

  • Vielleicht funktioniert es auch so, bin mir dabei aber ziemlich unsicher. Wie gesagt wieder ungetestet. Habe gerade nämlich eigentlich keine Zeit. Wie gesagt, kannst dich per PN an mich wenden oder dich mal auf meinem TS melden.

  • also ich hab mir nur jetzt den ersten beitrag durchgelesen


    es müsste theoretisch so aussehen denke ich



    $abfrage = mysql_fetch_assoc (SELECT * FROM Fraktionsliste WHERE Username = $_SESSION["Benutzername"]) //hier mus


    und dann halt die whileschleife mit ausgabe


    while($row = $abfrage)
    {
    if($row['fraktion`] != 0) continue; // überprüft ob spieler in Fraktion ist
    echo "Fraktionsstatus " . $row['login'] ."); //schaut ob der online status 1 oder 0 ist und gibt dies aus
    }





    ich denke das dürfte das verständliche sein


    ich hoffe ich habe das richtig interpretiert und nichts vergessen

  • Hey,


    ich habe alles nochmal überdacht und mir gedacht das ich meine DB nun so mache:
    fid | 1 | 2 | 3 | 4 | 5 | 6 | 7


    1-7 steht für den Rank
    fid für die Fraktionsid.


    Nun habe ich diesen Code um in der Startseite den Ranknamen auszulesen, doch er gibt mir diesen Fehler aus:



    Zitat

    Ungültige Abfrage: Unknown column '77' in 'where clause'

    Ich denke 77 steht für den Rank.
    Hier der Code:




    Ich hoffe ihr versteht das und könnt mir helfen.


    PS: das mit den Ranknamen ändern wollte ich grad machen doch wegen der neuen DB kommt nun dieser Fehler xD

  • Seit wann beschäftigst du dich mit php?
    Es sieht nämlich danach aus, als könntest du nichtmal die einfachsten Sachen.
    Deshalb werde ich jetzt auch keinen Support mehr geben.

    PHP
    //Auslesen lassen
    <?php
     $query = "SELECT * FROM fraktion WHERE fid = $SESSION['fraktion']";
     $result = $handler -> query($query) or die("Funktion fehlerhaft");
     while($Zeile = $result -> fetch_array(MYSQLI_ASSOC)){
      echo $Zeile['fid']." ".$Zeile['1']." ".$Zeile['2']." ".$Zeile['3']." ".$Zeile['4']." ".$Zeile['5']." ".$Zeile['6']." ".$Zeile['7'];
     }
    ?>
  • Ok,


    eine letzte Frage habe ich.
    Ich habe mir deinen Code nochmal angeschaut habe diesen in meinen Eingearbeitet, doch er trägt mir nur in die DB= 2 | 7 | Director <- das stimmt auch doch wo sind die anderen Ränge.
    Vielleicht kannst du mir das erklären.