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 :

Intégrer une variable dans un tableau


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 12
    Par défaut Intégrer une variable dans un tableau
    Bonjour

    je recupere une chaine de caractere que je construit suite a une requette MYSQL

    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
    $iii=1;
    $EAU_CADDIE = "";
    $query_ray = "SELECT id FROM eau WHERE publish = 'Y'";
    $query_ray .= " AND local = '$local'";
    $query_ray .= " ORDER BY name;";
    $result_ray = mysql_query($query_ray);
    $nb_ray = mysql_num_rows($result_ray);
    while ($val_ray = mysql_fetch_array($result_ray)) {
    	$EAU_CADDIE .= '"id_eau_'.$iii.'" => 1';
    	if (isset(${id_eau_.$iii}) && ${id_eau_.$iii} != "") {
    		$EAU_CADDIE .= $val_ray["id"].', ';
    	} else {
    		$EAU_CADDIE .= ', ';
    	}
    	$EAU_CADDIE .= '"qte_eau_'.$iii.'" => '.${id_eau_.$iii};
    	if ($iii < $nb_ray) {
    		$EAU_CADDIE .= ', ';
    	}
    	$iii++;
    }
    ensuite je veux inserer cette chaine de caractere ($CADDIE_EAU) qui se presente sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "id_eau_1" => 1, "qte_eau_1" => 3, "id_eau_2" => , "qte_eau_2" => , "id_eau_3" => , "qte_eau_3" =>
    dans ma ligne de commande qui gere mon caddie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['CADDIE'][] = array ("id_pdt" => $id_pdt, "qte"  => $qte, $EAU_CADDIE));
    mais cela ne fonctionne pas, il m'integre toute la chaine comme un element du tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [1] => Array
                  (
                      [id_item] => 1
                      [id_pdt] => 5
                      [qte] => 1
                      [0] => "id_eau_1" => 1, "qte_eau_1" => 3, "id_eau_2" => , "qte_eau_2" => , "id_eau_3" => , "qte_eau_3" => 
                  )
    merci pour votre aide

  2. #2
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Bonjour,
    Je t'avoue que je ne comprend ps trop ce que tu veux insérer... ce que je vois c'est que là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['CADDIE'][] = array ("id_pdt" => $id_pdt, "qte"  => $qte, $EAU_CADDIE))
    tu insère bien TOUTE la chaine... ou alors je ne vois pas trop ce que tu souhaites insérer ou sous quelle forme tu veux retrouver ton tableau au final

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 12
    Par défaut
    En fait je voudrais qu'il vienne m'intercaler la chaine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "id_eau_1" => 1, "qte_eau_1" => 3, "id_eau_2" => , "qte_eau_2" => , "id_eau_3" => , "qte_eau_3" =>
    dans la construction de ma session pour que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['CADDIE'][] = array ("id_pdt" => $id_pdt, "qte"  => $qte, $EAU_CADDIE);
    devienne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['CADDIE'][] = array ("id_pdt" => $id_pdt, "qte"  => $qte, "id_eau_1" => 1, "qte_eau_1" => 3, "id_eau_2" => , "qte_eau_2" => , "id_eau_3" => , "qte_eau_3" =>);
    pour que mon tableau final ressemble a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [1] => Array
                  (
                      [id_pdt] => 5
                      [qte] => 1
                      [id_eau_1] => 1
                      [qte_eau_1] => 3
                      [id_eau_2] =>
                      [qte_eau_2] =>
                      [id_eau_3] =>
                      [qte_eau_3] => 
                  )
    et non pas a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [1] => Array
                  (
                      [id_pdt] => 5
                      [qte] => 1
                      [0] => "id_eau_1" => 1, "qte_eau_1" => 3, "id_eau_2" => , "qte_eau_2" => , "id_eau_3" => , "qte_eau_3" => 
                  )
    merci

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    pourquoi crées tu une chaine intermédiaire ($EAU_CADDIE) au lieu directement d'insérer tes valeurs dans ta boucle while ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 12
    Par défaut
    j'ai un probleme de syntaxe (je suis un peu debutant en code)
    comment integrer la creation de mon tableau dans mon while ?

  6. #6
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour, il faudrait que tu fasses quelque chose comme ca :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $keys = array_keys($_SESSION['CADDIE']);
    $last = $keys[count($_SESSION['CADDIE'])-1];
    // --- récupères la derniere clé de ton tableau $_SESSION['CADDIE']

    Et maintenant dans ton while, tu ajoutes dynamiquement à ton tableau les valeurs de ta requete :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while ($val_ray = mysql_fetch_array($result_ray)) {
        array_push($_SESSION['CADDIE'][$last], array(id_eau_'.$iii.'=>1));
        ....
    }

    (code pas testé)

    Ceci dit, une question : n'y aurait il pas une possibilité d'inclure tes clés id_pdt, qte et id_eau_1 en meme temps que les autres afin d'éviter d'effectuer ces opérations ?

Discussions similaires

  1. [MySQL] Accéder à une variable dans un tableau
    Par niunia dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 07/01/2008, 19h16
  2. Réponses: 13
    Dernier message: 01/09/2007, 20h49
  3. Réponses: 3
    Dernier message: 22/03/2007, 13h09
  4. Intégrer une variable dans une définition
    Par Death83 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/03/2006, 14h59
  5. [VBA-E] Intégrer une variable dans la source d'un graphe
    Par girardeau dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/11/2005, 11h12

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