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 (permalink)
Nouveau membre du Club
 
Date d'inscription: avril 2009
Localisation: lille
Messages: 58
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 :
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
Vieux 26/01/2010, 19h31   #2 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 10 018
Par défaut

C'est effectivement une bien meilleure methode de parcourir le tableau :
Code :
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
Vieux 27/01/2010, 09h40   #3 (permalink)
Nouveau membre du Club
 
Date d'inscription: avril 2009
Localisation: lille
Messages: 58
Par défaut

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
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 23h41.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.