cs_DocR2
Messages postés9Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention14 mai 2007
-
8 mai 2007 à 02:10
cs_DocR2
Messages postés9Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention14 mai 2007
-
14 mai 2007 à 19:03
Bonjour,
J'ai un formulaire qui s'affiche suite à une requête mysql : mes deux champs de formulaire sont donc répétés tant que des données existent dans ma table sous la forme :
je souhaite récupérer les $_POST['champ_1'] et $_POST['champ_2'] dans une boucle afin d'updater ma table mysql : j'ai trouvé une méthode pour récupérer UN seul $_POST, mais n'y arrive pas pour les DEUX...
Voici ma méthode actuelle :
$tabChamp = (isset($_POST['champ_1']))?$_POST['champ_1']:null;
foreach($tabChamp as $cle => $valeur)
{
$SQL=mysql_query("UPDATE ma_table SET champ_1='".$valeur."' WHERE id='n°_id'") OR DIE(mysql_error());
}
Je bloque pour faire ce type de boucle avec $_POST['champ_2'] associé à $_POST['champ_1]...
cs_DocR2
Messages postés9Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention14 mai 2007 8 mai 2007 à 02:25
ERREUR
Je me suis mal exprimé...
Là où je bloque c'est précisémment le WHERE dans ma requête d'update :
$tabChamp = (isset($_POST['champ_1']))?$_POST['champ_1']:null;
foreach($tabChamp as $cle => $valeur)
{
$SQL=mysql_query("UPDATE ma_table SET champ_1='". $valeur ."' WHERE champ_2 ='".$_POST['champ_2']."'") OR DIE(mysql_error());
}
le $_POST['champ_2'] est "écrasé" systématiquement à la dernière valeur récupérée et je voudrais qu'il soit au contraire associé au $_POST['champ_1'] (récupéré par $valeur)...
cs_DocR2
Messages postés9Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention14 mai 2007 8 mai 2007 à 23:09
PROBLEME RESOLU
ce devait être la fatigue de la nuit...
dans la partie formulaire (requete php) :
dans le traitement :
$nbp=(nb de lignes du formulaire);
for($i=1; $i<$nbp; $i++)
{
$mnum=$_POST['num'][$i];
$mpage=$_POST['page'][$i];
$SQL=mysql_query("UPDATE menu_haut SET num="$mnum" WHERE page="$mpage"") OR DIE(mysql_error());
}
cs_DocR2
Messages postés9Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention14 mai 2007 14 mai 2007 à 19:03
Si j'ai bien compris mes lectures, ces deux versions seraient sécurisées ?
/* Première version */
$nbp=(nb de lignes du formulaire);
for($i=1; $i<$nbp; $i++)
{
$mnum=$_POST['num'][$i];
$mpage=$_POST['page'][$i];
$query = sprintf("UPDATE menu_haut SET num='%s' WHERE page='%s'",
mysql_real_escape_string($mnum, $connexion),
mysql_real_escape_string($mpage, $connexion));
mysql_query($query, $connexion);
if (mysql_affected_rows($connexion) > 0) {
echo "Enregistrement effectué\n";
}
}
/* Deuxième version possible */
$nbp=(nb de lignes du formulaire);
for($i=1; $i<$nbp; $i++)
{
$mnum=$_POST['num'][$i];
$query = sprintf("UPDATE menu_haut SET num='%s' WHERE page='%d'",
mysql_real_escape_string($mnum, $connexion),
$_POST['page'][$i]);
mysql_query($query, $connexion);
if (mysql_affected_rows($connexion) > 0) {
echo "Enregistrement effectué\n";
}
}