Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2552 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  incrementation dans les noms de variables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

incrementation dans les noms de variables

n°763257
freed102
Arayashiki
Posté le 14-06-2004 à 19:00:29  profilanswer
 

Est il possible pour obtenir des variables genre :
 
$var1
$var2
$var3
$var4
....
 
de faire une boucle du genre :
 
 

Code :
  1. for($i=4;$i>=0;$i++)
  2. {
  3. $var.$i;
  4. }

mood
Publicité
Posté le 14-06-2004 à 19:00:29  profilanswer
 

n°763262
harrysauce
Miaaaooou!
Posté le 14-06-2004 à 19:05:12  profilanswer
 

Déjà ta boucle elle marche pas :o
 
Ensuite je crois que tu peux faire un truc dans le genre :

Code :
  1. for($i=1; $i <= 4; $i++){
  2.    ${"var" . $i} = taValeure;
  3. }


 
EDIT : et regarde si tu peux faire ton truc avec des tableaux, ca sera plus propre quand même
 
EDIT2 : grillaid sur l'edit :o


Message édité par harrysauce le 14-06-2004 à 19:06:08
n°763264
T509
$job-&gt;GetJob(now)
Posté le 14-06-2004 à 19:05:39  profilanswer
 

Utilise un tableau, c'est fait pour


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°763417
jagstang
Pa Capona ಠ_ಠ
Posté le 14-06-2004 à 22:08:48  profilanswer
 

T509 a écrit :

Utilise un tableau, c'est fait pour


+1000

n°763425
Taz
bisounours-codeur
Posté le 14-06-2004 à 22:13:50  profilanswer
 

'tain y a pas un boulet pour en rattraper un autre :o

n°763708
jagstang
Pa Capona ಠ_ಠ
Posté le 15-06-2004 à 00:13:25  profilanswer
 

Taz a écrit :

'tain y a pas un boulet pour en rattraper un autre :o


c'est la raison d'être des boulets (tirer vers la bas) :o

n°763840
freed102
Arayashiki
Posté le 15-06-2004 à 10:02:42  profilanswer
 

Taz a écrit :

'tain y a pas un boulet pour en rattraper un autre :o


 
Toujours aussi aimables de bon matin je vois ! lol

n°763853
freed102
Arayashiki
Posté le 15-06-2004 à 10:12:54  profilanswer
 

bon je vous explique mon probleme plus clairement...
je fais un site avec 6 etapes....
j'ai voulu jouer aux mariolles en faisant des includes plutot que des successions de etape1.php ... etape2.php...etape3.php.. etc etc
... donc j'ai crée des variables genre = $etape1, $etape2, $etape3.. etc etc etc... le but est simple... je veux avoir trois etats pour mes etapes :
 
$etape(n)= "pas fait";
$etape(n)= "modifier";
$etape(n)= "valide";
 
.. c pourquoi je voulais faire ça...
 
cela dit je devine qu'avec un tableau vous feriez plutot
$etape[1]="valide";
$etape[2]="valide";
$etape[3]="modifier";
$etape[4]="a faire";
$etape[5]="a faire";
etc etc etc ??
 
... mais alors comment je fias pour faire un lien du genre :
 
<a href="index.php?etape[2]=modifier">Modifier l'étape 2</a>
 
... c la que je doute ...
 
autre question... vous feriez comment pour pas qu'il soit possible d'avoir deux etapes avec l'etat "modifier" en même temps ?


Message édité par freed102 le 15-06-2004 à 10:13:50
n°764038
T509
$job-&gt;GetJob(now)
Posté le 15-06-2004 à 12:03:12  profilanswer
 

<a href="index.php?etape=2">Modifier l'étape 2</a>
 
et dans ton traitement
 
traitement = $etape[$_GET['etape']]; // dans de cas, traitement = $etape[2]


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°764072
freed102
Arayashiki
Posté le 15-06-2004 à 12:17:26  profilanswer
 

T509 a écrit :

<a href="index.php?etape=2">Modifier l'étape 2</a>
 
et dans ton traitement
 
traitement = $etape[$_GET['etape']]; // dans de cas, traitement = $etape[2]


 
oui mais là il me manque une info ! ou est passé mon "modifier" ou "validé" etc etc ?pour la même etape il peut y avoir plusieurs traitements ! dois-je faire une autre variable ? genre :
<a href="index.php?etape=2&traitement=modifier">Modifier l'étape 2</a>
 
$etape[$_GET['etape']]=$_GET['traitement'];
 
???? :??:

mood
Publicité
Posté le 15-06-2004 à 12:17:26  profilanswer
 

n°764079
sielfried
Posté le 15-06-2004 à 12:20:22  profilanswer
 

freed102 a écrit :

oui mais là il me manque une info ! ou est passé mon "modifier" ou "validé" etc etc ?pour la même etape il peut y avoir plusieurs traitements ! dois-je faire une autre variable ? genre :
<a href="index.php?etape=2&traitement=modifier">Modifier l'étape 2</a>
 
$etape[$_GET['etape']]=$_GET['traitement'];
 
???? :??:


 
Pourquoi pas ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°764113
T509
$job-&gt;GetJob(now)
Posté le 15-06-2004 à 12:33:35  profilanswer
 

oui cela peut fonctionner.
cela m'a l'air une usine à gaz on truc


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°764121
freed102
Arayashiki
Posté le 15-06-2004 à 12:36:43  profilanswer
 

j'avoue que je me suis embarqué dans un truc de taré !
 
tout ça pour faire un menu de navigation dynamique...
like this :  
 
http://www.clonecopy.net/php/comma [...] etape1.php
login : xxx@xxx.com pwd: xxx
regarde le menu de gauche.. tu comprendras...


Message édité par freed102 le 15-06-2004 à 12:45:27
n°764139
T509
$job-&gt;GetJob(now)
Posté le 15-06-2004 à 12:45:26  profilanswer
 

Euh oui, tu pars dans une usine à gaz.
 
tu dois faire un tableau avec  
$etape[0] = "partie à include 0";
$etape[1] = ...
 
Comme c'est pour choisir les options de commande, tu fonctionne avec des formulaires.
 
Tu ajoutes dans tes formulaire un champs caché appelé etape_suivante.
 
Tu commence par récupérer le numéro d'étape suivante,
tu inclues le fichier de traitement des infos, puis le fichier d'affichage du résultat (même page si erreur de saisie, page suivante si ok)


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°764147
freed102
Arayashiki
Posté le 15-06-2004 à 12:49:00  profilanswer
 

bah là j'ai fait comme ça : (mais c monstrueux ! lol !)
 

Code :
  1. <?php
  2.    switch ($_SESSION['valideetape1'])
  3.    {
  4.    case "MODIFIER" : include('etape1.inc.php'); break;
  5.    case "VALIDE" :
  6.        switch ($_SESSION['valideetape2'])
  7.        {
  8.        case "MODIFIER" : include('etape2.inc.php'); break;
  9.        case "VALIDE" :
  10.            switch ($_SESSION['valideetape3'])
  11.            {
  12.            case "MODIFIER" : include('etape3.inc.php'); break;
  13.            case "VALIDE" :
  14.                switch ($_SESSION['valideetape4'])
  15.                {
  16.                case "MODIFIER" : include('etape4.inc.php'); break;
  17.                case "VALIDE" :
  18.                    switch ($_SESSION['valideetape5'])
  19.                    {
  20.                    case "MODIFIER" : include('etape4_livr.inc.php'); break;
  21.                    case "VALIDE" :
  22.                        switch ($_SESSION['valideetape6'])
  23.                        {
  24.                        case "MODIFIER" : include('etape5.inc.php'); break;
  25.                        case "VALIDE" : include('valide.inc.php'); break;
  26.                        default : include('etape5.inc.php'); break;
  27.                        }
  28.                    break;
  29.                    default : include('etape4_livr.inc.php'); break;
  30.                    }
  31.                break;
  32.                default : include('etape4.inc.php'); break;
  33.                }
  34.            break;
  35.            default : include('etape3.inc.php'); break;
  36.            }
  37.        break;
  38.        default : include('etape2.inc.php'); break;
  39.        }
  40.    break;
  41.    default: include('etape1.inc.php'); break;
  42.    }
  43.    ?>


 
... ce que je cherche à faire c que l'utilisateur ne soit pas obligé de se retaper toutes les etapes si il veut juste modifier une variable !


Message édité par freed102 le 15-06-2004 à 12:52:36
n°764169
T509
$job-&gt;GetJob(now)
Posté le 15-06-2004 à 12:58:36  profilanswer
 

cela ne sert à rien, tu veux utiliser les sessions là ou cela n'est pas necessaire.
 
Pour aller d'une étape à l'autre, le numéro d'étape suivant est suffisant.
 
switch ($_POST['suivant']) {
case 1 : include('etape1.inc.php'); break;
case 2 : include('etape2.inc.php'); break;
case 3 : include('etape3.inc.php'); break;
case 4 : include('etape4.inc.php'); break;
case 5 : include('etape5.inc.php'); break;
default : include('etape1.inc.php'); break;
}
 
en suite dans chaque etapeX.inc.php, tu inclue le traitement de tes variables, leur sauvegarde et l'envoi vers la page qui correspond au résultat du traitement.  
C'est suffisant.
 
Si tu veux que l'on puisse revenir modifier une chose, 2 solutions : tout effacer et rocommencer (les étapes sont simples donc c'est envisageable)
garder un tableau avec les étapes OK en mémoire.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°764209
freed102
Arayashiki
Posté le 15-06-2004 à 13:24:00  profilanswer
 

T509 a écrit :

cela ne sert à rien, tu veux utiliser les sessions là ou cela n'est pas necessaire.
 
Pour aller d'une étape à l'autre, le numéro d'étape suivant est suffisant.
 
switch ($_POST['suivant']) {
case 1 : include('etape1.inc.php'); break;
case 2 : include('etape2.inc.php'); break;
case 3 : include('etape3.inc.php'); break;
case 4 : include('etape4.inc.php'); break;
case 5 : include('etape5.inc.php'); break;
default : include('etape1.inc.php'); break;
}
 
en suite dans chaque etapeX.inc.php, tu inclue le traitement de tes variables, leur sauvegarde et l'envoi vers la page qui correspond au résultat du traitement.  
C'est suffisant.
 
Si tu veux que l'on puisse revenir modifier une chose, 2 solutions : tout effacer et rocommencer (les étapes sont simples donc c'est envisageable)
garder un tableau avec les étapes OK en mémoire.


 
le $_POST['suivant'] dans mon cas je pense pas que ce soit suffisant... car je passe à l'etape suivante que quand elle est validée ! c pourquoi j'ai fait des variables $valideetape1="VALIDE"; ... c ça qui me permet de passer à l'etape suivante

n°764249
T509
$job-&gt;GetJob(now)
Posté le 15-06-2004 à 13:46:27  profilanswer
 

Hypothèse : nous sommes sur le formulaire de l'étape 2 et la soumission envoie $_POST['suivant'] = 3
 
 
Selon mon schéma, tu inclues le fichier etape3.inc.php.
 
dans ce fichier, tu vérifie tes données transmises. Si ok, tu affiches étape 3, si non, tu affiches l'étape 2 avec les messages d'erreurs.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°764669
freed102
Arayashiki
Posté le 15-06-2004 à 16:49:21  profilanswer
 

T509 a écrit :

Hypothèse : nous sommes sur le formulaire de l'étape 2 et la soumission envoie $_POST['suivant'] = 3
 
 
Selon mon schéma, tu inclues le fichier etape3.inc.php.
 
dans ce fichier, tu vérifie tes données transmises. Si ok, tu affiches étape 3, si non, tu affiches l'étape 2 avec les messages d'erreurs.


ouai.. mais là je retourne dans le shemas ou je peux pas modifier une etape seule... il passe à la l'etape suivante quoi qu'il en soit !
dans notre cas c assez important que l'utilisateur ne se retape pas tout le site à chaque fois qu'il veut changer un parametre ! c pourquoi je veux faire un systeme qui valide les etapes separement... et la commande est validée que si toutes les etapes sont validées !

n°764672
T509
$job-&gt;GetJob(now)
Posté le 15-06-2004 à 16:53:54  profilanswer
 

Dans ta vérification des données, tu vérifies si les données on déjà été sauvegardées. Si oui, c'est que l'étape a déjà été validée et qu'il faut une modif. Donc tu réaffiches les données pour qu'elles puissent être modifiées.
 
C'est juste un lien <a href=".../index.php?etape=...&modif=1"> Modifiez l'étape ...</a>


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  incrementation dans les noms de variables

 

Sujets relatifs
Undefined variables : meilleure solution ?[PHP] Confirmer un formulaire en Javascript et garder les variables
lien entre fentres avec variables...Visualiser les tables sans connaitre leur noms...
[java] Vous préfixez vos variables pour en déterminer la portée?[PHP] Affichage des variables formatées ?
Affectation des variables C à des variables VC++ ?Parcourir un tableau à colonnes variables
[PHP] récuperer variables d'un form qui est dans un mailconcaténation variables
Plus de sujets relatifs à : incrementation dans les noms de variables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR