MySQL - Wie Kentnisse erweitern?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey Com,


    Könnt ihr mir bei 2 Sachen helfen?


    Nummer 1. Wie lasse ich alle Admins aus der Tabelle anzeigen die das Adminlevel 1 haben. Nicht die Online sind! Alle die In der Tabelle sind


    Nummer 2. Wie bearbeite ich eine Tabellenspalte, wenn ich als Owner /deletealladmins das alle Spieler mit dem Level 2000 die Adminlevel 2000 in der Tabelle auf 0 gesetzt werden


    Mfg

  • Naja also mach es so


    SQL
    "UPDATE `accounts` SET `Admin` =  1"


    damit kannst du alle werte in einer Spalte auf 1 setzen

    SQL
    "SELECT `Name`, `Admin` FROM `accounts` WHERE `Admin` > 0"


    Du kannst in Querys auch Operator verwenden hier zum beispiel wird alles ausglesen was größer als 0 ist in dem fall auch nur der Name und das Adminlevel


    //edit


    die ausgelesenen Daten solltest du dan in einen string packen und den string auch immer weiter formatieren , wenn du das in einer msg box haben willst aber das macht ja
    auch sinn

  • So musste noch nach was schauen da mir mysql_fetch_row_format etwas sinnlose dafür vor kam


    new result[MAX_PLAYER_NAME],MSG_STRING[400];
    mysql_query("SELECT `Name`, `Admin` FROM `accounts` WHERE `Admin` > 0")
    mysql_store_result()
    while(mysql_retrieve_row()){ // es geht auch mysql_next_row().
    mysql_fetch_field_row(result,"Name");
    mysql_fetch_field_row(result,"Admin");
    // ich bin zwar kein Fan von format aber was solls :D
    format(MSG_STRING,400"%s%s: Adminlevel %d\n",MSG_STRING,result,strval(result));
    }


    Es reicht wenn du das einmal formatieren lässt und eine kleine Info zum R7 plugin


    würde das so aussehen da geht das ganze mit der for schleife
    cache_get_data(row,field);
    for(new i; i < row; ++i){
    cache_get_row(i,0,PlayerInfo[i][pName]);
    printf("%s",PlayerInfo[i][pName]);
    }


    //edit zwei MSG_STRING für den ersten platzhalter vergessen



  • Riesen Dank aber wieso 2 While Schleifen ineinander?


  • ja der fügt alles wieder erneut zusammen
    und ja ich hab MSG_STRING für den einen Platzhalter vergessen ahja für result der string würde überschrieben werden daher gleich den wert an eine variabel weiter geben



    new result[MAX_PLAYER_NAME],var,MSG_STRING[400];
    mysql_query("SELECT `Name`, `Admin` FROM `accounts` WHERE `Admin` > 0")
    mysql_store_result()
    while(mysql_retrieve_row()){
    mysql_fetch_field_row(result,"Admin"), var= strval(resultnumber);
    mysql_fetch_field_row(result,"Name");
    format(MSG_STRING,400"%s%s: Adminlevel %d\n",MSG_STRING,result,var);
    }

  • Jaja ich bin ja kein Noob xD komm nur nicht mit MySQL klar da PHP ganz anders geht als Pawn Querys


    Also du hast ja


    format(xyz,400"...");
    Muss aber
    format(xyz,400,"...");


    Aber is ja ka Problem bei result macht man denn einfach


    new result[2][MAX_PLAYER_NAME];


    Ich bekomm das schon hinn riesen Dank hatte nämlich schon mehrere male nachgefragt RIESEN Dank