begin process at 2012 05 31 08:06:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

$_POST[mon_champ] et boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

$_POST[mon_champ] et boucle

mardi 8 mai 2007 à 02:10:04 | $_POST[mon_champ] et boucle

DocR2

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 :

<input type="texte" id="champ_1" value="valeur_champ_1" /><input type="text" id="champ_2" value="valeur_champ_2" />

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]...

Pourrais-je avoir de l'aide ?

Merci

mardi 8 mai 2007 à 02:25:39 | Re : $_POST[mon_champ] et boucle

DocR2

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)...

Ais-je été plus clair ?

Merci de votre aide...

mardi 8 mai 2007 à 23:09:19 | Re : $_POST[mon_champ] et boucle

DocR2

PROBLEME RESOLU

ce devait être la fatigue de la nuit...

dans la partie formulaire (requete php) :

<input type='text' name='num[$i]' id='num[$i]' value='".$pos['num']."' />

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());
   }

Au cas où cela serve à quelqu'un...

lundi 14 mai 2007 à 01:33:26 | Re : $_POST[mon_champ] et boucle

slaxswf

oula attentiion aux injections sql

c pas protégé tout çà ;)
lundi 14 mai 2007 à 12:29:28 | Re : $_POST[mon_champ] et boucle

DocR2

Je débute en php !
C'est pas la première fois que je lis sur un post : "pas protégé"...

On pourrait m'expliquer en quoi ?

Merci.
lundi 14 mai 2007 à 12:36:18 | Re : $_POST[mon_champ] et boucle

slaxswf

http://fr.php.net/manual/fr/function.mysql-real-escape-string.php
lundi 14 mai 2007 à 19:03:01 | Re : $_POST[mon_champ] et boucle

DocR2

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";
 }
   }

Merci  de me corriger au cas où...

DocR2



Cette discussion est classée dans : boucle, table, mysql, champ, post


Répondre à ce message

Sujets en rapport avec ce message

pb sur mysql avec requete select * from TABLE IN (select ...) [ par malibu23 ] Salut j ai un pb sur mysql lorsque je fais un requetedu type select CHAMP from TABLE where CHAMP IN ( select CHAMP from TABLE where CHAMP = VARIABLE); Problème de boucle [ par SiNeDeNiS ] Bonjour à tous et chacun !! Voila le bobo .. Je possède une table MySQL avec plusieur enregistrement ..A l'aide d'une boucle "for" je fait afficher le updater plusieurs lignes en meme temps [ par plasticode ] here i come again.voilà je mets en place une page modif.php qui fait appel àune base de données mysql avec plusieurs tables liées.Mes mises a jour fon Boucle (while) de Update [ par crislemon ] Bonjour, Voici mon probleme, j'aimerai effectuer des update en boucle sur une des mes table. en bas c le debut de mon code... if($_POST["statsjoueur" Insertion du contenu d'un fichier dans un champ d'une table [ par raphalonlon ] Salut à tous et à toutes, j'ai cherché et je n'ai pas encore trouvé,Est ce que quelqu'un saurait comment ajouter le contenu d'un fichier txt et xml da boucle mysql [ par simon0000 ] salutj'ai une table sql nomé fu comment je peux faire une boucle pour afichier toute les ligne de la table ligne par ligne merci PHP : Suppr enregistrement BDD avec confirmation par boite de dialogue ? [ par Waynejunior ] Bonjour, je cherche un moyen d'afficher une boite de dialogue quand l'utilisateur clique sur le bouton supprimer (un ou plusieurs enregistrements de m interrogation mysql [ par shadow1779 ] Bonjour,j'ai des notions en php, cependant je cherche a lire une ligne dans une table mysql, admettons que j'ai la table suivante:nom de table toto:-c test si existe dans base de donnée [ par gabs77 ] bonjour, je fais un formulaire avec page récapitulatif et je veux faire des tests d'existence dans la base de donnée pour mon intranetcad dans mon for import BDD access-mysql [ par cisfra ] Bonjour, je suis entrain de travailler sur l'export de BDD Access vers Mysql en utilisant DSN-less(connexion sans  DSN), le problème c'est que j'arriv


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales