IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

probleme de variable dynamique


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 118
    Points
    118
    Par défaut probleme de variable dynamique
    Bonjour à tous,

    En Avançant dans mon développement je me suis retrouvé bloqué, en fouillant un peu sur le net la solution m'a semblé l'utilisation des variable dynamique mais sa n'a fait que repousser le beug .
    j'ai deux pages php: une avec un formulaire ou l'utilisateur choisira les lignes a faire apparaitre sur le graphique et une qui récupère les données et s'occupe du graphe, le problème c'est que les données sont dans un tableau qui n'est pas relié a une base de donnée , donc j'ai du tout stocké dans des champ caché que je n'arrive pas a récupéré, j'espère avoir été claire, voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     $i=0;
     while ($i<$nbAnnee) 
    { ?>
    <input type="hidden" name="cache1" id="cache1" value=<?php echo $tabSource1[$i]; ?> />
     <?php 
    $i++; 
    }?>
    ce code correspond a la première ligne du tableau (pour la première source) et il y a la même dans chaque ligne, en remplacant tabSource1 par le numero de la source. pour la récupération:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    $nbAnnee=count($anneeTab);
    $i=0;
    while ($i<7)
    {
    	$j=1;
    	$select='selection'.($i+1);
    	if (isset($_POST[$select]))
    	{
     
    		$nom = 'data';
    		$data='data'.($j);  
    		$$nom=array(); 
    		while ($j<$nbAnnee)
    		{
    			$cache='cache'.($j);
    			if (isset($_POST[$cache]))
    			{
    				$$nom[$j]=$_POST[$cache];
    				echo'post recupéré dans tableau';
    				echo $j;
    			}
    			$j++;
    		}
    	}
     
    	$i++;
    }
    Je sais pas si vous voyez ou est l'erreur mais il me renvois une erreur: si il y'a année il arrive a récupéré les 3 première mais après:
    Notice: Uninitialized string offset: 4 in ...
    Notice: Uninitialized string offset: 5 in ..

    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Utilise plutot des tableaux pour cela, et au passage une boucle for plutot qu'un while bricolé et des guillemets a ta value :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
     for ($i=0; $i<$nbAnnee; $i++) 
    { 
       echo '<input type="hidden" name="cache[]" id="cache' . $i . '" value="' . $tabSource1[$i] . '" />';
     }
    tes values arrivent dans $_POST['cache']
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 118
    Points
    118
    Par défaut
    Merci pour cette réponse, désole de répondre seulement maintenant mais je n'avais plus accès au forum hier soir, cette méthode marche mais je n'arrive pas à trouver la syntaxe pour récupérer les variables (autrement dit comment récupérer les éléments d'un tableau passer en POST)
    Si quelqu'un a une idée, merci d'avance

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu le parcours avec foreach()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($_POST['cache'] as $value) {
       echo $value . '<br/>';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 118
    Points
    118
    Par défaut
    Merci beaucoup sa marche très bien, je n'ai plus aucun beug , maintenant je n'ai plus qu'a adapter cette méthode a mon algorithme.
    encore merci!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupération de variables dynamiques complexes
    Par ludoboy dans le forum ASP
    Réponses: 7
    Dernier message: 24/05/2004, 17h51
  2. [LG]Problême Variable dynamique de types différents
    Par pierrOPSG dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2004, 16h01
  3. probleme d'allocation dynamique
    Par vince3320 dans le forum C
    Réponses: 10
    Dernier message: 22/04/2004, 16h27
  4. [algo]probleme de variables hotes ds un insert
    Par omega dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/03/2004, 09h03
  5. Réponses: 2
    Dernier message: 04/01/2004, 15h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo