Trotzdem muss er seine MySQL-Anfrage weiterführen und nicht schon bei dem Durchführen des SQL-Befehls aufhören. ![]()
@TimeLine In welcher Spalte wird denn die Fraktion-ID angespeichert? Unter "Fraktion", vermute ich mal? Einmal beantworten,
dann gebe ich dir ein Beispiel.
//Edit:
Code
if(strcmp(cmdtext,"/DBleader", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 1339) return SendClientMessage(playerid, COLOR_RED, "Dieser Befehl steht dir nicht zur Verfügung!");
new query[255], result[50], tmpData[2][50], string[125];
format(query, sizeof query, "SELECT `Name`, `Fraktion` FROM `accounts` WHERE `Leader` > 0;"); // Query erstellen
mysql_query(query); // Query durchführen
mysql_store_result(); // Daten "zwischenspeichern"
if(!mysql_num_rows()) return SendClientMessage(playerid, COLOR_RED, "Es konnten keine Leader gefunden werden!"); // Wenn keine Daten vorhanden, abbrechen und eine Meldung abgeben.
SendClientMessage(playerid, COLOR_YELLOW, "Liste der Leader:");
while(mysql_retrieve_row()) { // Zwischengespeicherte Daten durchgehen
mysql_fetch_field_row(result, "Name"); // Name herausbekommen
format(tmpData[0], 50, "%s", result); // Namen in die Variable tmpData mit dem Index 0 speichern
mysql_fetch_field_row(result, "Fraktion"); // Fraktion herausbekommen
format(tmpData[1], 50, "%s", result); // Fraktion in die Variable tmpData mit dem Index 1 speichern
format(string, sizeof string, "%s: %s", fraktionlangName(tmpData[1]), tmpData[0]); // Variable string formatieren und den Fraktionsname und den Spielernamen angeben.
SendClientMessage(playerid, COLOR_YELLOW, string);
}
mysql_free_result(); // Speichern freigeben
}
Alles anzeigen
Schau dir das mal an. Habe einiges Kommentiert. Falls du etwas nicht verstehst, gib bescheid.