Hallo alle zusammen!
Ich habe folgende Funktion gebaut. Diese funktioniert auch wunderbar. Nur wenn in der DB mehrere Sachen hintereinander stehen:
Timestamp|ID|Anzahl#Timestamp|ID|Anzahl ...
führt er nur das erste aus und wenn man neu aktualisiert dann das nächste, obwohl ich foreach # benutze!? Könnt ihr mir helfen?
Ich habe folgende Funktion gebaut. Diese funktioniert auch wunderbar. Nur wenn in der DB mehrere Sachen hintereinander stehen:
Timestamp|ID|Anzahl#Timestamp|ID|Anzahl ...
führt er nur das erste aus und wenn man neu aktualisiert dann das nächste, obwohl ich foreach # benutze!? Könnt ihr mir helfen?
PHP:
function updateweaponprogress($user)
{
$db = connect_db();
$result = mysql_query("Select * FROM citys WHERE `user` = '$user'", $db);
while($row=mysql_fetch_assoc($result))
{
if ($row[weaponprogress] != "")
{
$search = explode("#", $row[weaponprogress]);
foreach ($search as $var)
{
$part = explode("|", $var);
$weapon=mysql_fetch_assoc(mysql_query("SELECT * FROM weapons WHERE `id` = '$part[1]'", $db));
if (time() >= $part[0])
{
$field = "W$part[1]";
$weapons = $row[$field]+$part[2];
$weaponprogress = str_replace("$var","",$row[weaponprogress]);
$weaponprogress = str_replace("##","#",$weaponprogress);
if (substr($weaponprogress, -1) == "#")
{
$weaponprogress = substr($weaponprogress, 0, -1);
}
if (substr($weaponprogress, 0, 1) == "#")
{
$weaponprogress = substr($weaponprogress, 1);
}
mysql_query("UPDATE citys SET `weaponprogress` = '$weaponprogress', `W$part[1]` = '$weapons' WHERE `coordinates` = '$row[coordinates]'", $db);
}
}
}
}
mysql_close($db);
}