Communauté Informatique NDFR.net

Communauté Informatique NDFR.net (http://www.ndfr.net/forums/index.php)
-   Programmation Web (HTML, PHP, ASP, Java, XML, etc.) (http://www.ndfr.net/forums/forumdisplay.php?f=65)
-   -   concatenation variable (http://www.ndfr.net/forums/showthread.php?t=5440)

bargio 22-11-2004 10:33

concatenation variable
 
Salut à tous,

Une petite question php pour bien commencer la semaine ;)

J'ai un formulaire qui me récupère des valeurs dans la base de donnée, valeurs qui se nomment "gauche1, gauche2, gauche3, gauche4 etc..." : tant qu'il y a de lignes dans ma base de donnée, je fais while en récupérant l'id et une concatenation entre le mot "gauche" et $id, ce qui me donne gauche suivi du numéro, ce que je vais appeler par la suite $gaucheid.

Jusque là ok.

Dans la page que j'appelle avec mon formulaire pour mettre à jour la base de donnée pour chaque ligne modifiée, ça se corse...

En effet, je n'arrive pas à récupérer les données du formulaire.

J'ai essayé tout d'abord avec un $gauche= $_POST["gauche.'$id'"]; (dans un while pour récupérer le id) mais ça ne fonctionnait pas du tout...

J'ai alors décidé de récupérer tout ce que j'ai dans mon formulaire par extract($_POST,EXTR_OVERWRITE);

J'arrive à récupérer, si je teste manuellement les valeurs de mes différents $gaucheid, sauf que dans le "while", je n'arrive pas à dire que $gauche = $gaucheid... : je n'arrive pas à faire comprendre que je veux une variable qui s'appelle "gauche" suivie de $id...

Si je ne suis pas clair, dites le, parce que vraiment c'est pas simple à expliquer.

Merci d'avance...

Seb

fonji 22-11-2004 10:44

Lut !
Ce qui est clair mon cher Seb c'est que $_POST["gauche.'$id'"]; ça ira pas du tout... Tout bonnement parce que tu fermes pas tes guillemets avant de mettre ton point...
Avec $_POST["gauche".$id]; ça devrait aller mieux...

EDIT : et si ça marche pas avec $_POST[] (ça arrive suivant la configuration, je connais pas tous les petits trucs étranges de cette variable), tu peux essayer avec $_REQUEST[]

bargio 22-11-2004 10:48

C'est pour ça !!! Quel couillon je suis... note qu'entre temps j'ai trouvé une solution qui marche : je fais :

$gauche = ${gauche.$id};

J'ai fouillé pour trouver ça ;)

A ton avis ? Quel méthode vaut il mieux utiliser ? Quelle est la plus propre ?

Merci en tous cas, fonji ;)

Seb

fonji 22-11-2004 11:08

erf j'avais oublié qu'on pouvait utiliser les {} pour retrouver un nom de variable à partir d'une chaine de caractère...

La méthode à utiliser est celle qui te paraît la plus claire, celle que tu comprends le mieux, à moins que tu aies vraiment des contraintes de temps, il vaut toujours mieux prendre un code qui prend 3millisecondes de plus mais qui est très compréhensible (parce que sinon le jour où y a un bug bonjour).

Quant à savoir ce qui est le plus propre... Boarf... Moi je pense que c'est d'utiliser le $_POST comme ça au moins tu es sûr et certain d'où provient ta variable (genre tu sais que c'est du post et pas des valeurs données par querystring (get)), mais ça c'est plutôt arbitraire.

Voilà, y a vraiment pas de quoi !

bargio 22-11-2004 11:12

J'ai utilisé ta méthode, parce que c'est sur ça que j'étais parti au départ... Mais de toutes façons c'est du $_POST dans les deux cas...

Seb


All times are GMT +2. The time now is 10:03.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.