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 :

Convertir un tableau associatif en string et inversement


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2018
    Messages : 44
    Par défaut Convertir un tableau associatif en string et inversement
    Bonjour
    Je gère le site de ma chorale. Ce site est bâti avec des frames.
    En local, je suis en PHP 5.2.0 et mysql 5.0.22
    Chez l'hébergeur (pages perso de Free) c'est PHP 5.1.3RC4-dev et mysql 5.0.77
    Je développe actuellement un module de gestion des dons reçus par l'association.
    Ce module propose notamment de lister les dons.
    Un formulaire permet de sélectionner les années fiscales à afficher ou les dates début et fin de la période à afficher et de sélectionner les types de donateurs à prendre en compte*:personne physique, morale ou les deux.
    Dans la liste des dons, seules quelques données sont affichées parmi l'ensemble des champs de la table des dons, et, pour chaque don, un lien permet d'accéder à une page affichant en visualisation tous les champs de l'enregistrement.
    Afin de passer les critères de sélection à la page affichant tous les champs d'un don ( afin de ré-afficher les mêmes dons lors du retour à la liste), j'ai créé, dans le script d'action du formulaire, une variable string à partir du $_POST en utilisant la fonction php http_build_query et cette variable est passée en paramètre de l'url pointant vers la page Détails d'un don.
    Dans cette dernière page, il y a un lien pour le retour vers la page Liste des dons et c'est là que je bloque.
    J'ai mis la variable string en paramètre de l'url de retour mais je ne parviens pas à convertir cette chaîne en tableau associatif (l'équivalent du $_POST de départ) pour refaire la sélection des dons. Existe-t-il une fonction inverse de http_build_query pour faire cela*? Sinon, comment faire*?
    Merci d'avance.
    Cordialement

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 348
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 348
    Billets dans le blog
    17
    Par défaut
    J'ai mis la variable string en paramètre de l'url de retour mais je ne parviens pas à convertir cette chaîne en tableau associatif (l'équivalent du $_POST de départ) pour refaire la sélection des dons. Existe-t-il une fonction inverse de http_build_query pour faire cela*? Sinon, comment faire*?
    Tu trouveras les paramètres de l'URL dans $_GET, ex. :

    https://www.example.net/page.php?foo=bar&baz=qux

    Dans page.php tu auras un tableau $_GET qui vaudra :

    foo => bar
    baz => qux

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2018
    Messages : 44
    Par défaut conversion d'un tableau associatif en string et l'inverse
    Merci pour la réponse
    J'avais essayé avec $_GET, mais sans succès. Je vais me remettre à l'ouvrage.
    Je ne peux pas voir l'exemple : lorsque je clique sur le lien, j'arrive sur une page Example domain quasi vide.
    Cordialement

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 348
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 348
    Billets dans le blog
    17
    Par défaut
    Je ne peux pas voir l'exemple
    Tu n'étais pas censé y accéder, c'est juste une illustration.

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2018
    Messages : 44
    Par défaut Je n'y arrive toujours pas....
    Bonjour

    Dans l'url permettant d'afficher la page présentant les détails d'un don, je passe en paramètres tous les critères de sélection des dons listés.
    Avec $_GET, je récupère bien un array de tous ces critères*:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    array(8) {
        ["don_id"]=> string(5) "10001"
        ["selDates"]=> string(6) "anFisc"
        ["selPers"]=> string(2) "TT"
        ["anFiscDeb"]=> string(4) "2021"
        ["anFiscFin"]=> string(4) "2021"
        ["DateDeb"]=> string(0) ""
        ["DateFin"]=> string(0) ""
        ["valider"]=> string(21) "Afficher la sélection"
    }
    Avec http_build_query, j'en fais un string que je passe en paramètre de l'url permettant de revenir vers la liste des dons*:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $strCritListDons = http_build_query ($_GET);
    $strCritListDons vaut :

    "don_id=10001&selDates=anFisc&selPers=TT&anFiscDeb=2021&anFiscFin=2021&DateDeb=&DateFin=&valider=Afficher+la+s%E9lection"
    Lorsque je clique sur le lien de retour vers la liste, la page n'affiche rien car la variable $_GET ne voit qu'un seul paramètre( au lieu de 8).
    Le var_dump de $_GET vaut*:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    array(1) {
        ["critListDons"]=> string(16) "$strCritListDons"
    } string(0) ""
    Qu'est-ce que je ne fais pas comme il faut*?
    Merci d'avance.
    Cordialement

  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 699
    Par défaut
    vous n'avez pas besoin de http_build_query pour faire cela.
    pour construire l'url de la page de retour, vous allez parcourir le tableau $_GET avec "foreach" par exemple :
    https://g-rossolini.developpez.com/t...age-3#LIII-K-7

  7. #7
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 348
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 348
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par jumaro Voir le message
    Le var_dump de $_GET vaut*:
    array(1) { ["critListDons"]=> string(16) "$strCritListDons" } string(0) ""
    La variable $strCritListDons n'est pas interpolée.

    Tu dois avoir quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="page.php?strCritListDons=$strCritListDons">Retour</a>';
    Alors qu'il faudrait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="page.php?<?= $strCritListDons ?>">Retour</a>

Discussions similaires

  1. [Débutant] Convertir un tableau de byte en string
    Par bipbip2006 dans le forum C#
    Réponses: 4
    Dernier message: 04/07/2011, 22h41
  2. prob string a convertir en tableau de char
    Par lapinette dans le forum Débuter
    Réponses: 11
    Dernier message: 11/06/2010, 08h42
  3. Réponses: 8
    Dernier message: 13/11/2009, 14h50
  4. Réponses: 22
    Dernier message: 04/05/2009, 17h50
  5. convertir un tableau de type string en type double
    Par saraenim dans le forum Windows Forms
    Réponses: 8
    Dernier message: 12/05/2008, 15h45

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