SQL Wert zerlegen und Variablen zuweisen

  • Hallo,


    ich hoffe ich habe hier eine passene Überschrift gewählt, aber nun direkt zum Thema!
    Ich habe eine Datenbanktabelle in der verschiedene Felder existieren, einige davon haben Werte die genutzt werden um einem Plugin zu sagen dass der User ein bestimmtes Level und entsprechende Eigenschaften besitzt. Diese Werte sind Zahlen, getrennt durch ein Leerzeichen. Das Ganze sieht so aus wenn wir es einfach abfragen würden:


    Zitat

    0 1 -1 5336 18 25 19 22 22 55 100 3293 2 22 0 0 0 1 0 0 0 0 0 0 0 0 3 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 226 23 77 34 0 23 4 0 0 20 0 0 0 0 10 0 0


    Nun denn, wie kann ich jetzt nach der Ausgabe dieses Wertes zb. diese Variablen zuweisen:

    Zitat

    $race=0
    $class1=1
    $class2=-1
    $xp=5336


    Da sich diese Werte stetig verändern, habe ich irgendwie keine Idee wie ich das Ganze angehen könnte. Habe etwas gesucht und zb array_pop gefunden und weiß auch wie ich durch die Verwendung von explode das Ganze zerlege:

    Zitat

    $getinfo=explode(" ", $getdata->info);


    Was ich allerdings nicht weiß ist, wie kann ich jetzt sagen dass von den 95 Werten jeder Einzelne eine bestimmte Funktion besitzt?! Bzw. jedem dieser Werte eine Variable zuweisen und das in der Reihenfolge wie die Zahlen eben ausgespuckt werden?
    Das array_pop Beispiel würde ja nur den letzten Wert wegnehmen und dann könnte ich diesen neu zuweisen aber das müsste dann in einem Loop so weiter laufen bis keine Zahl mehr übrig ist?!
    Ich denke es müsste aber irgend eine Möglichkeit geben, wo ich einmal jeder der 95 Werte eine Variable aufdrücke, wie zb wenn in eine Sql Tabelle geschrieben wird.

    Zitat

    $getavariable="(0 1 -1 5336 18 25 19 22 22 55 100 3293 2 22) -> ('$a', '$b', '$c', '$d, '$e', '$f', '$g', '$h', '$i', '$j', '$k')";


    Hat da jemand Vorschläge und/oder Ideen zu?!
    Wäre super und ich bedanke mich einfach mal im Vorraus für jede Hilfe die da kommt. :thumbup:

  • PHP
    $deinevariable = $getinfo[0];
    $deinevariable2 = $getinfo[1];
    ...
    $deinevariable95 = $getinfo[94];


    Andere Variante:
    Variablennamen in ein Array packen, dann beide Arrays gleichzeitig in einer Schleife durchlaufen und einander zuweisen.

  • ...das ging schnell! :D


    Die Variante 1 hätte mir eigentlich einfallen müssen, naja 12 Stunden Codes und Testen können schon ziemlich den Geist trüben! :wacko:
    Das ist eigentlich auch genau das was ich meinte! Oh mannn... Werd das mal probieren!


    Was deine zweite Idee angeht, wie darf ich mir das vorstellen?! Das hab ich in dem Sinne noch nie vor Augen gehabt und ich frage mich gerade auch, außer für meinen Fall, wo das zur Anwendung kommen "könnte"?!


    Danke nochmal! :thumbup:

  • Keine Ahnung wo das zur Anwendung kommen könnte, war nur eine Idee wie man den Code kürzer halten könnte.
    Kannst halt deine Variablennamen in ein Array packen und dann durchlaufen lassen gleichzeitig mit dem anderen Array, spart dir Schreibarbeit da du nicht jede Variable einzelnd zuweisen musst.

  • Also an Schreibarbeit wird da sicherlich noch vieeeel mehr kommen da jede der Variablen wiederrum mehrere Möglichkeiten mitbringen wird.
    $race zb dann 8 Möglichkeiten, $class1 dann wiederrum 6 und und und...
    Letztendlich wird dieses Projekt sicherlich einige tausend zeilen Code beinhalten und am Ende kann man dann zb seinen Game-Charakter im Web ansprechen, ihn weiter leveln, Items dazu kaufen usw. Daher ist es auf jeden Fall ganz wichtig dass die Daten auf jeden Fall gründlich bearbeitet werden eh dann das eigentliche Game-Profil wieder geupdatet wird. Wäre ja schon blöd wenn man zb. 14642 Xp hatte, man dann zb das Item 102 anspricht und durch irgend eine blöde Schusseligkeit im array auf einmal nur noch 102 XP hat :rolleyes: :pinch:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!