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 :

faire une requête à l'intérieur d'un array pour ajouter un élément dans cet array [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut faire une requête à l'intérieur d'un array pour ajouter un élément dans cet array
    Bonjour,

    J'ai un array
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $tbl_identite = Array ( 
    "id" => 16508AA, 
    "quantity" => 1 ,
    "name" => toto
    )
    Je vais ajouter un autre élément dedans et sa valeur vient d'une requête SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tbl_identite[group] =>  SELECT cln_groupe FROM {$tablename} WHERE  id = $tbl_identite['id']
    Comment je peux intégrer ma raquette à l'intérieur de mon array ?

    Puisque je ne peux pas faire comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $tbl_identite = Array ( 
    "id" => 16508AA, 
    "quantity" => 1 ,
    "group" => SELECT cln_groupe FROM {$tablename} WHERE  id = $tbl_identite['id'],
    "name" => toto 
    )
    Merci Et bonne journée

  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
    Ton problème n'est pas plutot que tu ne sais pas recuperer le résultat de la requête ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $tbl_identite = Array ( 
    "id" => 16508AA, 
    "quantity" => 1 ,
    "group" => $resultat_de_la_requête,
    "name" => toto 
    )

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Bonjour Vincent,

    Je suis un peu perdu comme tu imagines...

    Si j'ai bien compris, il faut que je fasse :

    1re fois, je vais utiliser mon array () pour ma requête SQL avec une boucle foreach

    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
    $tbl_identite = Array ( 
    "id" => 16508AA, 
    "quantity" => 1 ,
    "name" => toto
    )
     
     
    foreach($tbl_identite as $valeur)
    {
     
    $sql =  SELECT cln_groupe 
            FROM {$tablename} 
            WHERE  id = $tbl_identite['id']
     
    $result_sql = mysql_query($sql);
     
    while($group = mysql_fetch_row($result_sql)){
    $group[];
    }
    Ensuite, il faut que je le mette dans Array ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $tbl_identite = Array ( 
    "id" => 16508AA, 
    "quantity" => 1 ,
    "group" => $group[],
    "name" => toto 
    )
    Est-ce que cela va marcher?
    Je m'en doute de mon histoire

  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
    Pense et fais simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $tbl_identite = Array ( 
    "id" => 16508AA, 
    "quantity" => 1 ,
    "name" => toto;
    );
     
    $sql = 'SELECT cln_groupe 
            FROM ' .  $tablename . '
            WHERE  id = ' .$tbl_identite['id']
    $result_sql = mysql_query($sql);
    $row= mysql_fetch_assoc($result_sql);
     
    $tbl_identite['groupe'] = $row['cln_groupe'];

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Merci Vincent,
    mais lorsque je fais var_dump, c'est NULL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    tbl_identite = Array ( 
    "id" => 184845, 
    "quantity" => 1 ,
    "name" => toto
    );
    $sql = 'SELECT cln_groupe 
            FROM ' .  $table_db . '
            WHERE  id = ' .$tbl_identite['id'];
    echo ' var_dump ($sql) :' . var_dump ($sql);
    $result_sql = mysql_query($sql);
    $row= mysql_fetch_assoc($result_sql);
    echo '<br> var_dump ($row) :' . var_dump ($row);
    $tbl_identite['groupe'] = $row['cln_groupe'];
    echo '<br> var_dump ($tbl_identite) :' . var_dump ($tbl_identite);
    voici ce que j'obtiens :
    string 'SELECT cln_groupe
    FROM tbl_identite
    WHERE id = 184845' (length=100)
    var_dump ($sql) :
    null

    var_dump ($row) :
    array (size=4)
    'id' => int 184845
    'quantity' => int 1
    'name' => string 'toto' (length=4)
    'groupe' => null

    var_dump ($tbl_identite) :
    Pourtant dans PhpMyAdmin, ma requête SQL marche :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT cln_groupe 
            FROM tbl_identite
            WHERE  id = 184845'

    Ce n'est pas null c'est titi

  6. #6
    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 ne peux pas faire un echo de var_dump
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo ' var_dump ($sql) :';
    var_dump ($sql);

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Ok Vincent,

    Mais je ne comprends pas pourquoi ma requête SQL ne retourne pas la valeur.

    J'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ' 2 $sql :' . $sql. '<br>';
    et j'obtiens la bonne requête*:
    2*$sql :SELECT cln_groupe FROM tbl_identite WHERE id = 184845
    et quand je le mets dans PhpMyAdmin, j'ai la valeur,

    Par contre avec mon code ci-dessous, j'obtiens NULL*: ('groupe' => null)
    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
    $sql = 'SELECT cln_groupe 
            FROM ' .  $table_db . '
            WHERE  id = ' .$tbl_identite['id'];
     
    //verification
    echo ' 2 $sql :' . $sql. '<br>'; //verification
     
     
     
     
    $result_sql = mysql_query($sql);
    $row= mysql_fetch_assoc($result_sql);
    echo '<br> var_dump ($row) :' . var_dump ($row);  //verification
    $tbl_identite['groupe'] = $row['cln_groupe'];
    echo '<br> var_dump ($tbl_identite) :' . var_dump ($tbl_identite);  //verification
    var_dump ($row) :
    array (size=4)
    'id' => int 184845
    'quantity' => int 1

  8. #8
    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
    Même réponse : Tu ne peux pas faire un echo de var_dump.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Je comprends mais confus, comme tu imagines....
    OK
    Je ne fais plus echo avec var_dump : mais je n'arrive pas récupérer la valeur vient de ma requête SQL :
    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
    29
    30
    tbl_identite = Array ( 
    "id" => 184845, 
    "quantity" => 1 ,
    "name" => toto
    );
     
    echo ' 1 var_dump ($tbl_identite) :<br>';
    var_dump ($tbl_identite); //verification
     
     
    $sql = 'SELECT cln_groupe 
            FROM ' .  $table_db . '
            WHERE  id = ' .$tbl_identite['id'];
     
    //verification
    echo ' 2 $sql :' . $sql. '<br>'; //verification
     
     
     
     
    $result_sql = mysql_query($sql);
    $row= mysql_fetch_assoc($result_sql);
     
    echo '<br> 3 var_dump ($row) :<br>';
     var_dump ($row);//verification
     
     
    $tbl_identite['groupe'] = $row['cln_groupe'];
    echo '<br> 4 var_dump ($tbl_identite) ::<br>';
    var_dump ($tbl_identite);
    Voici ce que je vois :
    1 var_dump ($tbl_identite) :
    array (size=3)
    'id' => int 184845
    'quantity' => int 1
    'name' => string 'toto' (length=4)
    2 $sql :SELECT cln_groupe FROM tbl_identite WHERE id = 184845

    3 var_dump ($row) :
    null

    4 var_dump ($tbl_identite) ::
    array (size=4)
    'id' => int 184845
    'quantity' => int 1
    'name' => string 'toto' (length=4)
    'groupe' => null
    'groupe' => null

    pourtant j'ai obtiens la valeur du groupe lorsque je fais la même requête dans PhpMyAdmin :
    SELECT cln_groupe FROM tbl_identite WHERE id = 184845

  10. #10
    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
    Ajoute
    après l'execution de la requête pour voir ce qui se passe.

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Salut Vincent,

    Je suis vraiment désolé....

    No database selected...

    Alors ça marche comme j'ai voulu...

    Merci encore un gros merci

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

Discussions similaires

  1. Ajouter un élément dans un array à un endroit precis
    Par nicerico dans le forum Langage
    Réponses: 1
    Dernier message: 17/06/2014, 09h11
  2. Réponses: 22
    Dernier message: 10/07/2011, 17h49
  3. Correction pour ajouté un élément dans une liste
    Par Rifton007 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/01/2007, 11h09
  4. [Requête] Faire une requête imbriquée?
    Par sekiryou dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2004, 22h52

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