Recourcensparendere Möglichkeit?

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,


    Ich hab mir mal was durch den kopfe gehen lassen doch weiss nicht wie ich es umsetzen soll:


    SQL
    new query[128];
    	for(new i=1;i < 46; i++) {
    	    format(query,sizeof(query),"UPDATE `weapons` SET `state`='%b' WHERE `id` = '%i'", aweapon[i],i);
    	    mysql_query(connection,query);
    	}


    Mit Joins müsste man es doch so gelöst bekommen, das nicht 46 Querys einzelnd aufgerufen werden sondern nur einer?

  • Du könntest erst mal beim Format das "sizeof(query)" Entfernen da du die Größe schon kennst, also gegen 128 ersetzten.


    Soweit ich weiß wandelt pawno beim kompilieren das automatisch in die Zahl um.
    Das mit 128 zu ersetzen würde also höchstens ein Bruchteil einer Millisekunde beim kompilieren bringen ^^

  • Meiner Meinung nach ist deine Tabelle nicht das ware, warum nicht alle waffen in einer Zeile und nicht für jede waffe eine?


    Um auf das zurückzukommen habe jetzt ne tabelle vars gemacht da steht 0|1|2 also der status der waffe drin ... ist jetzt eine Zeile und ich habs mit sscanf gesplittet ... Vorteil ist ein Query, zufrieden :D Danke für den Tipp habs nichts o mit Datenbankstrukturen :D

  • @NicoWiss
    Du hast ebenfalls die möglichkeit das ganze array zu speichern als binär wert


    kleines Beispiel was man mit dem array machen kann, eventuell geht es auch das ganze als string zu speichenr in der datenbank oder doch den binärwert musst mal testen
    var[0] = 10;
    var[1] = 11;
    var[2] = 12;
    var[3] = 13;
    var[4] = 14;
    var2 = var;
    printf("%d %b",var2[4],var2);
    printf("%d %b",var2[4],var2);



  • Hey mit einem Wert ist das ja gut alles in einer zeile zu speichern und dann zus plitten nur wie mach ich das jz, das meine adminränke nicht jeweils ein query brauchen


    also UPDATE a.var[1], b.var[2] WHERE a ...?


    Halts o mit joins ich wiess es nicht ganau

  • Zum einen musst du so nix splitten zum zweiten joins werden genutzt um tabellen übergreifend zu arbeiten.


    kannst du mal genau schildern was du willst und was du vor hast?welche adminränge meinst du ränge wie 1, 2, 4 ... oder Bezeichnungen.
    Sollten es nur ränge sein so kannst du das machen wir oben beschrieben. Sonst kannst du ganz einfach spiel spaltenanzahl erhöhen.