Hallo zusammen.
Ich bin seit längerem dran ein Browsergame zu programmieren ( versuche es zumindest ) und hänge nun an folgender Sache fest.
Es handelt sich um ein Browsergame, wobei man Raumschiffe hat ( Sprich... Standard BG ) und diese in verschiedene Gruppenarten aufteilen soll. Soll bedeuten.... Handelsflotten, in denen nur Transportschiffe kommen, Kampfflotten wo nur Jäger etc. reinkommen usw.
Ich habe eine Datenbank groups wo halt die User_ID die Koordinaten der Gruppentyp und halt die Schiffsanzahl und der Schiffstyp nach ID gespeichert werden sollen gespeichert werden sollen ( und noch ein paar andere angaben ).
Als Funktion sieht das ganze wie folgt aus :
Wenn ich jetzt sagen wir mal ein Schiff mit der ID 1, 1 mal auswählen schreibt der in die DB bei "ships" 1x1% , was ja auch OK ist.
Wenn ich jetzt aber 1 Schiff mit der ID 1 und 5 Schiffe mit der ID 4 ( ist egal wieviel und welche ID ) nehme, soll er es eigentlich, da es ja eine zusammengehörige Gruppe ist, in die Zelle ships 1x1%, 4x5% schreiben, sprich hintereinander einlesen und in diese eine Zelle schreiben.
Er schreibt aber für den zweiten Wert eine extra Zeile in die DB.
Ich weiß das ich irgendwie mit einer "while" Schleife arbeiten muss, allerdings wenn ich dies mache, berechnet der ohne ende, bis er mir irgendwann einen memory fehler ausgibt.
Wäre Super wenn mir da einer helfen könnte, da ich ungerne mit einer anderen Funktion weiter mache, bis ich eine wo ich dran bin nicht funktioniert.
MfG
Dirk
Ich bin seit längerem dran ein Browsergame zu programmieren ( versuche es zumindest ) und hänge nun an folgender Sache fest.
Es handelt sich um ein Browsergame, wobei man Raumschiffe hat ( Sprich... Standard BG ) und diese in verschiedene Gruppenarten aufteilen soll. Soll bedeuten.... Handelsflotten, in denen nur Transportschiffe kommen, Kampfflotten wo nur Jäger etc. reinkommen usw.
Ich habe eine Datenbank groups wo halt die User_ID die Koordinaten der Gruppentyp und halt die Schiffsanzahl und der Schiffstyp nach ID gespeichert werden sollen gespeichert werden sollen ( und noch ein paar andere angaben ).
Als Funktion sieht das ganze wie folgt aus :
PHP:
// NEUE GRUPPE HINZUFÜGEN START
function set_new_group($user_id, $coords, $typ, $anz, $shipid)
{
global $CONFIG;
$db = new cl_extended_database();
$gal = $coords['gal'];
$sys = $coords['sys'];
$plan = $coords['plan'];
$fid = $this->get_fleetid($coords);
$str_ships = "";
$str_ships = $shipid . "x" . $anz . "%";
//echo "$str_ships<br>";
//echo "Setzte $anz stk. von ID $shipid in Gruppentyp $typ für User-ID $user_id ( Fleetid : $fid ) , ".$coords['gal']." ".$coords['sys']." ".$coords['plan']."<br>";
$db->query("INSERT INTO groups SET user_id = '$user_id', fleet_id = '$fid', gal = '$gal', sys = '$sys', plan = '$plan', typ = '$typ', ships = '$str_ships';");
$db->err();
$db->reinit();
$db->dbclose();
}
// NEUE GRUPPE HINZUFÜGEN ENDE
Wenn ich jetzt sagen wir mal ein Schiff mit der ID 1, 1 mal auswählen schreibt der in die DB bei "ships" 1x1% , was ja auch OK ist.
Wenn ich jetzt aber 1 Schiff mit der ID 1 und 5 Schiffe mit der ID 4 ( ist egal wieviel und welche ID ) nehme, soll er es eigentlich, da es ja eine zusammengehörige Gruppe ist, in die Zelle ships 1x1%, 4x5% schreiben, sprich hintereinander einlesen und in diese eine Zelle schreiben.
Er schreibt aber für den zweiten Wert eine extra Zeile in die DB.
Ich weiß das ich irgendwie mit einer "while" Schleife arbeiten muss, allerdings wenn ich dies mache, berechnet der ohne ende, bis er mir irgendwann einen memory fehler ausgibt.
Wäre Super wenn mir da einer helfen könnte, da ich ungerne mit einer anderen Funktion weiter mache, bis ich eine wo ich dran bin nicht funktioniert.
MfG
Dirk
Zuletzt bearbeitet: