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

jQuery Discussion :

valeurs multiples pour une même clé


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 142
    Points : 56
    Points
    56
    Par défaut valeurs multiples pour une même clé
    Bonjour,

    J'ai besoin de transmettre un tableau avec une requête post. Pour cela j'utilise JQUERY.

    Cependant dans une explication voila ce que je ne comprend pas : Si un "Array" est transmis, JQuery serialize les valeurs multiples pour une même clé (ex : "{foo:["bar1"],["bar2"]}" devient "&foo=bar1&foo=bar2"). (lien)

    Comment peut on mettre plusieurs valeurs sur une même clé ? c'est une spécificité de Javascript ou est-ce seulement possible avec JQUERY ?

    Merci beaucoup

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 142
    Points : 56
    Points
    56
    Par défaut
    Finalement j'arrive à passer les valeur à mon fichier PHP.

    Cependant maintenant mon souci est comment récupérer ses valeurs alors qu'elles sont le méme identifiant !

    &foo=bar1&foo=bar2

    si je fais $_POST['foo'] j'ai la valeur 'bar2' et ce n'est visiblement pas un tableau

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut

    => $_POST['foo'][0] $_POST['foo'][1]
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 142
    Points : 56
    Points
    56
    Par défaut
    merci pour la réponse mais il ne me retourne qu'une valeur ...

    si je fais ce que tu me dis seulement $_POST['foo'][0] retourne une valeur qui est la dernière valeur de foo passée dans la requête

    Pourtant je suis sur de passer l'ensemble des paramètres (preuve Firebug et preuve manuelle pour un test en GET)

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut
    valeur de foo passée dans la requête
    tu est en ajax pour faire du post avec une chaine data ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 142
    Points : 56
    Points
    56
    Par défaut
    voila le code pour la requète ajax:

    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
     
    var tab_send = {action: 'add_dif_corp' ,
                        idLigne: ligne_id_bdd,
                        foo : ["bar1","bar2"],
                        };
     
    $.ajax({
            type: 'POST',
            url: 'save_bdd.php',  
            data: tab_send,
            success: function(data){
                console.info(data);         
            }, 
     
            dataType : "json"
     
        });
    tab_send est le tableau de valeur que j'envoi.

    et voici ce que me dit firebug au sujet du POST :

    Paramètres :
    action add_dif_corp
    idLigne 1981
    foo bar1
    foo bar2

    Source
    action=add_dif_corp&idLigne=1981&foo=bar1&foo=bar2

    J'en conclu donc que JQUERY a bien sérialisé le tableau et qu'il à bien transmis l'ensemble des paramétre. Cependant coté php je n'ai que la dernière valeur de foo ...

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut
    ??
    sinon je vois pas trop il a bien serialisé .

    que te donne un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($_POST['foo'])
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 142
    Points : 56
    Points
    56
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($_POST['foo'])
    me donne :

    string(4) "bar1"

    et :

    ne change rien

    C'est curieux car le post passe bien jusqu'au fichier php puisque je suis capable de récupérer les valeurs de action et idLigne ... mais pas les 2 de foo !

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut
    par hasard il n'y aurait pas d'espace ou de caractères spéciaux necessitant un encodage dans les valeurs de foo ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 142
    Points : 56
    Points
    56
    Par défaut
    non même pas

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 142
    Points : 56
    Points
    56
    Par défaut
    Je viens de faire un test avec un nouveau fichier contenant seulement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
     
    print_r($_GET);
     
    ?>
    avec comme passage en paramétre ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bdd_test.php?action=add_dif_corp&idLigne=1981&foo=4&foo=5
    et le résultat est toujours le même ...

    Array ( [action] => add_dif_corp [idLigne] => 1981 [foo] => 5 )

    Je peu pas faire de test plus simple ... configuration du server ?

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut
    oui mais là tu es en get ... ???
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 142
    Points : 56
    Points
    56
    Par défaut
    GET ou POST pour cela c'est pareil.

    finalement j'ai trouvé.

    en GET pour passer un tableau il faut les [] ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    action=add_dif_corp&idLigne=1981&foo[]=bar1&foo[]=bar2
    donc pour la requete en post cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    var tab_send = {action: 'add_dif_corp' ,
                        idLigne: ligne_id_bdd,
                        'foo[]': [],
                        };
    merci

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut
    C'est en fait super logique !!!
    pour récupérer un array coté serveur il faut nommer coté htm avec les []

    Encore fallait il y penser
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Valeurs Multiples pour une variable
    Par backdraf dans le forum Développement
    Réponses: 5
    Dernier message: 07/06/2011, 16h34
  2. Réponses: 17
    Dernier message: 09/02/2010, 16h22
  3. Services multiple pour une même base
    Par tibal dans le forum Administration
    Réponses: 5
    Dernier message: 17/04/2009, 08h27
  4. Plusieurs valeurs pour une même colonne
    Par maxlegrand dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/10/2007, 13h32
  5. Formules multiples pour une même cellule
    Par nenkira dans le forum Excel
    Réponses: 2
    Dernier message: 05/04/2007, 13h29

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