Hallo,

Ik ben bezig met een klein Admin systeempje. Hierin wil ik een lijst gebruikers importen uit een MySql database.
Vervolgens zet ik ze in een table:
<tr><td><input type='checkbox' name='uid[".$result['id']."]'></td>
<td>".$result['name']."</td>
<td>".$result['pass']."</td>
<td>".$result['ip1']."</td>
<td><input type='text' name='ip2[".$result['id']."]' value='".$result['ip2']."'></td>
<td><input type='checkbox' name='activated[".$result['id']."]' value='1' ".$checked."></td></tr>


Hier wil ik dus berijken dat je meerdere gebruikers kan selecteren (eerste checkbox)
En ook van meerdere gebruikers het Ip2 en Activated aan kan passen, maar alleen als de eerste checkbox geselecteerd is natuurlijk.

Nu heb ik het geprobeerd met een foreach loop, maar het lukt met gewoon niet.

Gebruikte loop:
if ($_POST['wijzig']) {
	foreach ($_POST['uid'] as $id2) {
		$one = "UPDATE users SET ";
		foreach ($_POST['ipp'] as $idip => $ip2) {
			if ($idip == $id2) {
				if ($ip2 != "") {
					$two = "ip2='".$ip2."' ";
				}
			}
		}
		foreach ($_POST['activated'] as $ipact => $act) {
			if ($ipact == $id2) {
				if ($act == "on") {
					$three = "active='1' ";
				}
				else {
					$three = "active='0' ";
				}
			}
		}
														
		$four = "WHERE id='".$id2."'<br/>";
		echo $one.$two.$three.$four;
	}
}


Weet iemand waar de fout zit, hoe het wel moet enzovoort.

Het probleem: De checkbox Activated. Als je de bovenste aanvinkt, dan staat er in de array dat ze allemaal aangevinkt zijn.

GR Arjen
In jouw geval bevat $id2 géén id, maar de value van de aangevinkte checkboxes. Je zult dus het id als value mee moeten geven, en de key verder met rust moeten laten.

Maar de Checkbox heeft geen Value.
Als ik $id2 echo, krijg ik daar ook netjes de ID uit.

Miscchien snap ik jouw niet helemaal, zou je misschien een klein voorbeeldje kunnen geven?

[edit]
Ik heb het :)
De $id2 was gewoon goed, het lag eraan dat ik de variable $three niet had leeggemaakt.
Want als de checkbox niet is aangevinkt geeft hij niets weer in de array.
[/edit]

Reageren