Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 26/01/2010, 17h01   #1
Futur Membre du Club
 
Inscription : avril 2009
Messages : 81
Détails du profil
Informations personnelles :
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : avril 2009
Messages : 81
Points : 19
Points : 19
Par défaut boucle foreach checkbox

bonjour à tous,

j'ai un petit souci

j'ai un tableau avec 2 colonnes : une avec le numéro d'une demande et l'autre colonne avec un checkbox qui permet de valider le traitement de la demande.
l'utilisateur coche toutes les checkbox qui correspondent aux demandes traitées et valide.

les checkbox sont construites dynamiquement comme ceci

Code :
<input type='checkbox' name='choix[".$row_Recordset1['id_balisage']."]' value=".$row_Recordset1['id_balisage'].">
pour l'instant voici le code que j'ai pour mettre à jour l'état de la demande:

Code :
1
2
3
4
5
6
7
8
9
10
11
for ($i=0; $i<=100; $i++)
{
 
if(isset($_POST['choix'][$i]))
 
{$e=$_POST['choix'][$i];
 
$sql = "UPDATE demande_balisage SET etat='TRAITEE' WHERE id_balisage='$e' ";
 
mysql_query($sql) or die('Erreur SQL!'.$sql.'<br>'.mysql_error()); }
}

j'utilise une boucle simple qui teste de 0 à 100.
mais je voudrais que la boucle se contente de mettre à jour les lignes ou une checkbox a été cochée.

j'espère être clair.
je pense que je dois utiliser une boucle foreach mais j'ai un peu de mal à ennoncer la condition.

merci d'avance pour votre aide
docteurdorian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2010, 19h31   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
C'est effectivement une bien meilleure methode de parcourir le tableau :
Code :
1
2
3
4
foreach($_POST['choix'] as $id) {
$sql = "UPDATE demande_balisage SET etat='TRAITEE' WHERE id_balisage=" . intval($id);
mysql_query($sql) or die('Erreur SQL!'.$sql.'<br>'.mysql_error());
}
j'ai juste ajouté un intval() pour la sécurité.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 09h40   #3
Futur Membre du Club
 
Inscription : avril 2009
Messages : 81
Détails du profil
Informations personnelles :
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : avril 2009
Messages : 81
Points : 19
Points : 19
merci beaucoup ca marche parfaitement et surtout je compris mieux comment utiliser ce type de boucle

bonne journée à toi
docteurdorian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 20h11.


 
 
 
 
Partenaires

Hébergement Web