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

PHP & Base de données Discussion :

générer automatiquement des variables php [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Invité
    Invité(e)
    Par défaut générer automatiquement des variables php
    Bonjour,

    Est-il possible de générer automatiquement des variables php et de les afficher avec sa valeur dans le code d'un autre fichier ?

    Pour être plus clair, dans une table de ma bdd, j'ai 969 enregistrements correspondant au numéro et nom du compte et leurs soldes (débiteur et créditeur) respectifs. Ce que je souhaite faire, c'est que le nom de ma variable soit égale au numéro de compte et la valeur de la variable en question soit le solde (débiteur ou créditeur) de ce compte. Ces variables en question me serviront à effectuer des calculs dans 2 autres fichiers.

    Merci d'avance pour vos réponses utiles (je précise).

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $datas = [];
     
    foreach( $rowAll as $row ) // (on parcourt des résultats de la requête)
    {
       $datas[$row['numero_compte']] = $row['solde'];
    }

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Cela ne résout pas mon problème.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Alors sois plus précis.

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Tu pourrais éventuellement faire des noms de variable dynamiques, mais honnêtement, je ne vois pas trop l'intérêt, parce que bon, les variables dynamiques sont super-casse-pieds à utiliser par rapport à un bon vieux tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach( $rowAll as $row ) // (on parcourt des résultats de la requête)
    {
       ${"solde_".$row['numero_compte']} = $row['solde']; // ce qui va donner un nom de variable du type $solde_160217
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre chevronné Avatar de Freudd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 165
    Par défaut
    Bonjour mike711,

    Par rapport à besoin, les réponses de jreaux62 et Celira me semblent corrects.

    Cependant, si tu cherches vraiment à créer tes propres variables de façon dynamiques je te conseille la lecture de cette documentation :
    https://www.php.net/manual/fr/langua...s.variable.php
    C'est un peu tricky comme solution mais, tu pourras peut-être trouver un élément de réponse.

    Cordialement.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Celira Voir le message
    Tu pourrais éventuellement faire des noms de variable dynamiques, mais honnêtement, je ne vois pas trop l'intérêt, parce que bon, les variables dynamiques sont super-casse-pieds à utiliser par rapport à un bon vieux tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach( $rowAll as $row ) // (on parcourt des résultats de la requête)
    {
       ${"solde_".$row['numero_compte']} = $row['solde']; // ce qui va donner un nom de variable du type $solde_160217
    }
    Et je fais comment pour les afficher dans mon code ?

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Je pense que tu ne poses pas la bonne question. Donne nous un contexte, de préférence avec le code que tu as déjà écrit et qui ne fonctionne pas ou que tu veux modifier.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  9. #9
    Invité
    Invité(e)
    Par défaut
    Celira, tout ce que j'ai besoin de savoir, c'est comment afficher le résultat du foreach dans un code.

  10. #10
    Invité
    Invité(e)
    Par défaut
    • echo
    • var_dump()
    • ...

    Tu n'es pas capable de nous montrer un bout de code ??

  11. #11
    Invité
    Invité(e)
    Par défaut
    Tout ce que je demande, c'est que l'on m'indique le code qui me permettrait de générer et d'afficher dans le code des variables dynamiques. TOUT SIMPLEMENT. C'est à se demander si vous comprenez le français.

  12. #12
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Tu veux rire ?
    Tu te poses la question si on comprend le français alors que tu pourrais aussi te poser la question sur ton aptitude à t'exprimer en français.
    Les réponses qui t'ont été fournies sont toutes correctes, c'est toi visiblement qui ne sait pas quoi en faire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach( $rowAll as $row ) // (on parcourt des résultats de la requête)
    {
        echo $row['numero_compte'], ' = ', $row['solde']; 
    }
    Sois humble et profite du savoir des autres sans faire de la provoc, ça ne sert à rien et en plus tu perdras au change.

  13. #13
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Je crois qu'on ne comprend effectivement pas ton problème
    Pour afficher des données issues d'une boucle, ben tu fais ta boucle (par foreach, while, for, ...), et dedans tu fais l'affichage en utilisant les variables de la boucle et une fonction d'affichage (echo, print, printf...) Personnellement, je ne vois pas où est le souci avec ça.

    Peut-être qu'en fait, tu cherches quelque chose comme ceci : Affichage de données dans un tableau HTML ?

    Sinon, tu n'as pas un bout de code à nous montrer, qui expliquerait "ici j'ai mes données et je veux utiliser ces données là" ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  14. #14
    Invité
    Invité(e)
    Par défaut
    Je souhaite que mes variables s'affichent de la façon suivante : $numerocompte = $_POST['soldedebiteur'] ou $numerocompte = $_POST['soldecrediteur'] suivant le solde en question. numerocompte est à remplacer par le numéro de compte. Exemple : $411 = $_POST['soldedebiteur']. J'aimerais afficher le résultat du foreach dans 2 autres fichiers.

    Sachant que $_POST['soldedebiteur'] ou $_POST['soldecrediteur'] évoluera en fonction des écritures comptables associées au numéro de compte.

    En espérant avoir été clair et il m'est impossible de l'être plus.
    Dernière modification par rawsrc ; 02/10/2019 à 07h00. Motif: Balise [c][/c] pour le code en ligne

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- Pourquoi nous parler de $_POST, alors que dans ton 1er message, tu dis récupérer les données dans la bdd ?

    2- Idem "afficher le résultat du foreach dans 2 autres fichiers" :
    pourquoi, dans ces 2 fichiers, ne pas récupérer aussi les données depuis la bdd ?
    Sinon, on peut/doit utiliser une variable de $_SESSION (qui peut aussi être un array !)

    3- Jusqu'ici, toutes tes "explications" restent théoriques.
    Par conséquent, nos solutions, aussi.

    -> Montre-nous un début de code, concret au moins !
    On pourra alors t'indiquer la bonne/meilleure marche à suivre, adaptée a tes besoins réels.

    4- Dans le code que j'ai donné (#2), on crée un seul array $datas.

    L'affichage de fait avec un simple foreach.
    Essaie au moins de TESTER ce qu'on te propose.

    • Ne serait-ce qu'un var_dump($datas); pour voir ce qu'il contient !
    • Voire remplacer $datas par $_SESSION['datas'], pour pouvoir l'utiliser dans tes autres fichiers !
    Dernière modification par rawsrc ; 02/10/2019 à 07h01.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Les réponses apportées me sont totalement inutiles.

    Je demande à ce que cette discussion soit purement et simplement supprimée

  17. #17
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Bon, on se calme... c'est qu'un forum.
    Et tu abordes un problème complexe.
    Ce que tu demandes correspond aux mots clés dont Célira t'a déjà parlé "variables dynamiques", ou variables variables ou méta variables.
    On croit tous en avoir besoin à un moment donné, puis on se rend compte... que c'est une fausse bonne idée.
    Je compte même t'expliquer pourquoi :

    Alors on y va

    Le mot clé le plus simple, c'est le double $$.

    Je souhaite que mes variables s'affichent de la façon suivante : $numerocompte = $_POST['soldedebiteur'] ou $numerocompte = $_POST['soldecrediteur'] suivant le solde en question. numerocompte est à remplacer par le numéro de compte. Exemple : $411 = $_POST['soldedebiteur'].
    Ici, ça donnerait
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $$numerocompte=$_POST['soldedebiteur'] ;
    En gros ici, ton 114, devient $114 et vaudra... le solde débiteur... Au fait, au passage, débiteur ou créditeur, pourquoi tu n'appelles pas ça solde ?


    J'aimerais afficher le résultat du foreach dans 2 autres fichiers.
    Et c'est là, que tout le monde finit par se dire... mais si j'écrase DYNAMIQUEMENT (avec ma boucle foreach) une variable DYNAMIQUE, quel a été l'intérêt de la rendre dynamique ? Je vous le demande mon cher ?

    Donc reste plutôt sur un bon tableau associatif qui conserve toutes tes infos, que tu mets en session pour être sûr de le garder dans toutes les pages de ton script...

    ex en PDO bien sûr :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    session_start();
    $sql='SELECT num_compte,solde
    FROM ma_table';
    $_SESSION['comptes']=$pdo->query($sql,PDO::FETCH_ASSOC);
    echo '<pre>';
    print_r($_SESSION['comptes']);
    echo '</pre>';
    et ce tableau complet sera utilisable sur toutes tes pages avec la fameuse boucle foreach...
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    session_start();
    if(empty($_SESSION['comptes']) || empty($_SESSION['user_compte'])){
       header('location:login.php');//perte de session a priori
    }
    foreach($_SESSION['comptes'] as $compte){
       if($compte['num_compte']==$_SESSION['user_compte']){
          echo 'Compte '.$compte['num_compte'].' => '.$compte['solde'];
       }
    }
    PDO, une soupe et au lit !
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  18. #18
    Invité
    Invité(e)
    Par défaut
    dendrite,

    ($_SESSION['comptes']) || empty($_SESSION['user_compte']) à quoi ça correspond pour toi ?
    Dernière modification par ProgElecT ; 18/11/2019 à 13h35. Motif: Pour le code sur une ligne, c'est [C]..ici le code..[/C] bouton # en haut à droite de l'éditeur, NON FACULTATIF.

  19. #19
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par mike711 Voir le message
    ...dans une table de ma bdd, j'ai 969 enregistrements correspondant au numéro et nom du compte et leurs soldes (débiteur et créditeur) respectifs.
    MONTRE-NOUS :
    • la STRUCTURE de la table
    • un EXTRAIT de la table

    + Dis-nous si tu utilises PDO, et comment (code de connexion + requête de la table : "SELECT.....").

    Ainsi, nous pourrons de donner un code CONCRET.

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

Discussions similaires

  1. Recuperer des variable PHP
    Par Extra-Nitro dans le forum Flash
    Réponses: 3
    Dernier message: 03/07/2006, 10h33
  2. Récupération de la moitié des variables php
    Par gator dans le forum Langage
    Réponses: 5
    Dernier message: 19/06/2006, 12h39
  3. [PHP-JS] Test des variables (PHP ou JavaScript) ??
    Par King_T dans le forum Langage
    Réponses: 5
    Dernier message: 23/05/2006, 12h19
  4. [MySQL] Php / Html Mettres des Variables PHP en Values sur des form
    Par Jimmy_S dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/03/2006, 11h18
  5. [Swishmax] Récupérer des variables php
    Par denis finch dans le forum Flash
    Réponses: 3
    Dernier message: 23/12/2005, 15h29

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