[PHP] Problème pour récupérer des variables d'un formulaire

Problème pour récupérer des variables d'un formulaire [PHP] - PHP - Programmation

Marsh Posté le 30-07-2002 à 21:30:46    

Bonjour,
 
 Je bute sur un petit problème qui pourtant me semblait assez simple à la base. Je récupère une série de titres de chanson (id_chanson, titre_chanson) dans une table, puis je les affiche les un en dessous des autres dans des champs INPUT de type TEXT. Avec un seul et même formulaire, je voudrais pourquoi tous les éditer d'une simple validation SUBMIT. Question : quel nom dois-je donner à mes champs INPUT afin de récupérer ET l'id de la chanson telle qu'elle est dans ma base, ET le nom édité, afin de pouvoir updater chaque titre à l'intérieur d'une boucle ?
 
 J'utilise pas mal de systèmes de sélection multiple avec des checkbox, et avec un nom du genre checkbox[] je peux récupérer leur valeur et leur statut (coché/pas coché) très facilement, mais là je ne vois pas du tout comment faire. Dans la mesure du possible, je voudrais évidement éviter d'utiliser une méthode bourrine du genre for ... each($_POST[]) (hum, qui d'ailleurs ne solutionnerait rien puisque j'aurais accès à toutes les valeurs de mes champs de saisie, mais pas à l'id correspondante). Qui saura me tirer de ce mauvais pas ? :)

Reply

Marsh Posté le 30-07-2002 à 21:30:46   

Reply

Marsh Posté le 30-07-2002 à 22:33:36    

Citation :

je voudrais pourquoi tous les éditer d'une simple validation SUBMIT


 
 [:skyx@v]

Reply

Marsh Posté le 30-07-2002 à 22:41:39    

L'id tu la recupere lors de ton select, tu la met dans ton formulaire dans un input type=hidden
 
Pour les noms des input tu mets ce que tu veux faut juste pas se tromper dans les nom quand tu faire ta requete update :)


Message édité par Stligar le 30-07-2002 à 22:41:56
Reply

Marsh Posté le 30-07-2002 à 22:42:28    

"Je voudrais pouvoir", c'est bon, je pense que tout le monde a compris.
 
Tu n'aurais pas plutôt une solution intelligente à m'apporter ? :sarcastic:

Reply

Marsh Posté le 30-07-2002 à 22:44:21    

$i = 1; //ou 0 si tu veux ché pas à cb du commence
while($data = mysql_fetch_array($req)) { ?>
<input name="id_chanson[<?= $i ?>]" value="<?= $data['id_chanson'] ?>" />
<input name="name_chanson[<?= $i ?>]" value="<?= $data['name_chanson'] ?>" />
<?
$i++;
}
 
et après tu récup comme ça : $_POST['id_chanson'][1] pour l'id de la première chanson par exemple
 
 

Reply

Marsh Posté le 30-07-2002 à 22:48:25    

Stligar a écrit a écrit :

L'id tu la recupere lors de ton select, tu la met dans ton formulaire dans un input type=hidden
 
Pour les noms des input tu mets ce que tu veux faut juste pas se tromper dans les nom quand tu faire ta requete update :)




 
J'y ai bien pensé, mais comment faire le lien entre l'id de l'enregistrement passé dans un champ hidden et la valeur du champ texte http://www.forum-auto.com/sqlforum/images/smileys/reflexion.gif
 
D'ailleurs je ne suis pas certain que l'on parle de la même chose. Je n'utilise pas de <SELECT>, uniquement des INPUT de type TEXT :
 
http://www.forum-auto.com/photos/Christophe_3007200250_exemple_formulaire_hfr.gif


Message édité par Core 666 le 30-07-2002 à 22:49:58
Reply

Marsh Posté le 30-07-2002 à 22:54:11    

Je@nb a écrit a écrit :

$i = 1; //ou 0 si tu veux ché pas à cb du commence
while($data = mysql_fetch_array($req)) { ?>
<input name="id_chanson[<?= $i ?>]" value="<?= $data['id_chanson'] ?>" />
<input name="name_chanson[<?= $i ?>]" value="<?= $data['name_chanson'] ?>" />
<?
$i++;
}
 
et après tu récup comme ça : $_POST['id_chanson'][1] pour l'id de la première chanson par exemple



Ca cadre plus à ce que je souhaite faire, je teste ca tout de suite. Merci :)

Reply

Marsh Posté le 30-07-2002 à 22:55:44    

Core 666 a écrit a écrit :

 
Ca cadre plus à ce que je souhaite faire, je teste ca tout de suite. Merci :)




 
Ah tu édites pas l'id donc tu peux virer le premier input

Reply

Marsh Posté le 30-07-2002 à 23:01:04    

Effectivement, je ne l'édite pas, mais j'ai besoin de le connaître pour mettre à jour ma table via MySQL :)

Reply

Marsh Posté le 30-07-2002 à 23:09:02    

oué donc si les chiffres se suivent tu n'a pas besoin suffit d'avoir l'index du tablo, sinon en hidden et c nickel

Reply

Marsh Posté le 30-07-2002 à 23:09:02   

Reply

Marsh Posté le 30-07-2002 à 23:22:16    

Ca fonctionne à merveille. Merci 1000 fois pour ton aide précieuse, d'autant plus cette manière de faire risque de m'être bien utile à l'avenir :)

Reply

Marsh Posté le 31-07-2002 à 16:17:47    

De rien, ça ma rappellé que je dois finir un programme utilisant le passage de tablo en paramètres  :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed