Ik ben bezig met het maken van een systeem om scores van leden van een clan bij te houden. Hierbij ben ik tegen een probleem aangelopen bij het versturen van de ingevoerde waardes via een form.
Ik heb nu het volgende om de waardes in te vullen:
En daarna dit om de nieuwe waardes in de database weg te schrijven:
Dit wil niet werken omdat er waarschijnlijk in een $_POST[....] geen variabalen voor kmogen komen (denk ik). Ook heb ik het al geprobeerd met een array, maar dan krijg je het volgende: $_POST[war[$i]] en daar krijg ik ook een parse error op.
Ik kan natuurlijk geen vaste waardes gebruiken omdat het aantal leden steeds veranderd. Dus het moet zo dynamisch mogelijk blijven.
Op welke manier kan ik dit wel oplossen??
Ik heb nu het volgende om de waardes in te vullen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| case Wargegevens: $query = "SELECT id, nickname, ranking, nrwars, nrdead, nrkill, nrflag FROM members"; $res = mysql_query($query) or die ("Database Error"); echo "<br><hr><b>Change Wargegevens</b>"; echo "<form action=\"$PHP_SELF\" method=\"post\">"; echo "<table width=\"90%\">"; echo "<tr><td> </td><td>Aantal Wars</td><td>Aantal kills</td><td>Aantal deads</td><td>Aantal flags</td><td>Interne Ranking</td></tr>"; for ($i=0; $i< mysql_num_rows($res); $i++) { echo "<tr>"; echo "<td>".mysql_result($res,$i,"nickname")."</td>"; echo "<input type=\"hidden\" name=\"id".$i."\" value=\"".mysql_result($res,$i,"id")."\">"; echo "<td><input size=6 name=\"war[$i]\" value=\"".mysql_result($res,$i,"nrwars")."\"></td>"; echo "<td><input size=6 name=\"kill[$i]\" value=\"".mysql_result($res,$i,"nrkill")."\"></td>"; echo "<td><input size=6 name=\"dead[$i]\" value=\"".mysql_result($res,$i,"nrdead")."\"></td>"; echo "<td><input size=6 name=\"flag[$i]\" value=\"".mysql_result($res,$i,"nrflag")."\"></td>"; echo "<td><input size=6 name=\"intern[$i]\" value=\"".mysql_result($res,$i,"ranking")."\"></td>"; echo "</tr>"; } echo "<input type=\"hidden\" name=\"aantal\" value=\"".mysql_num_rows($res)."\">"; echo "<tr><td colspan=\"6\"><input type=\"submit\" name=\"doe\" value=\"bijwerken\"></td></tr>"; echo "</table></form>"; break; |
En daarna dit om de nieuwe waardes in de database weg te schrijven:
PHP:
1
2
3
4
5
6
7
| case bijwerken: for ($i=0; $i < $_POST[aantal]; $i++) { mysql_query("UPDATE members SET nrwars='$_POST[war".$i."]', nrdead='$_POST[dead".$i."]', nrkill='$_POST[kill".$i."]', nrflag='$_POST[flag".$i."]', ranking='$_POST[intern".$i."]' WHERE id='$_POST[id".$i."]'"); } break; |
Dit wil niet werken omdat er waarschijnlijk in een $_POST[....] geen variabalen voor kmogen komen (denk ik). Ook heb ik het al geprobeerd met een array, maar dan krijg je het volgende: $_POST[war[$i]] en daar krijg ik ook een parse error op.
Ik kan natuurlijk geen vaste waardes gebruiken omdat het aantal leden steeds veranderd. Dus het moet zo dynamisch mogelijk blijven.
Op welke manier kan ik dit wel oplossen??