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 :

Affectation valeur d'une variable.


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 112
    Par défaut Affectation valeur d'une variable.
    Bonjour,

    je stock dans une table les cours de change de certaines devises sous cette forme:
    table : cours_devises
    id | pays | Value
    1 | CHF | 1.211
    2 | USD | 1.29
    3 | GBP | 1.45

    Dans une autre table je stock des montants en devises par produits ex:
    table : clients
    id | code_prod | designation | prix _devise | pays | client
    1 | 0010 | prod 1 | 15 | CHF | 100
    2 | 0012 | prod 2 | 11 | USD | 100
    3 | 021 | prod 3 | 24 | GBP | 100
    4 | 0302 | prod 6 | 52 | USD | 101
    5 | 0172 | prod 7 | 9 | USD | 101
    6 | 1512 | prod 8 | 31 | CHF | 101

    Une requete extrait de la table clients tous les produits détenus par le client (ex client N° 100) et les affichent dans le navigateur sous cette forme:
    Designation P en Dev Dev Valeur en Euro
    prod 1 | 15 | CHF | ?
    prod 2 | 11 | USD | ?
    prod 3 | 24 | GBP | ?

    il faut donc que j'affecte en face de chaque montant en devise, le cours de la devise stockée dans la table cours_devises

    j'ai essayer avec ce bout de script qui ne fonctionne pas, la devise affectée est toujours la première stockée dans la table (cours_devises)...
    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
     
    <?php
    $value = $data110['prix_devise'] . $data110['pays'];<-- ces variables proviennent du script principal
    echo $value;
    // CONNEXION A LA DB
    include ('x.php');
    // APPEL DE LA TABLE DEVISES
    $sql200 = "SELECT * FROM cours_devises";
    $req200 = mysql_query($sql200) or die('Erreur SQL !<br>'.$sql200.'<br>'.mysql_error());
    while($data200 = mysql_fetch_assoc($req200))
    if ($data200['pays'] == 'CHF' AND $data110['prix_devise'] == 'CHF') {$cours_chf = $data200['P en Dev'];echo $cours_chf;}
    if ($data200['pays'] == 'USD' AND $data110['prix_devise'] == 'USD') {$cours_usd = $data200['P en Dev'];echo $cours_usd;}
    if ($data200['pays'] == 'CAD' AND $data110['prix_devise'] == 'CAD') {$cours_cad = $data200['P en Dev'];echo $cours_cad;}
     
    if ($data110['prix_devise'] == 'CHF') {$TESTCOURS = $cours_chf;}
    if ($data110['prix_devise'] == 'USD') {$TESTCOURS = $cours_usd;}
    if ($data110['prix_devise'] == 'EUR') {$TESTCOURS = '1';}
     
    if ($data200['pays'] == 'CHF' AND $data110['prix_devise'] == 'CHF') {$Fcurr = $data110['P en Dev']/$cours_chf; echo $Fcurr;}
    if ($data200['pays'] == 'USD' AND $data110['prix_devise'] == 'USD') {$Fcurr = $data110['P en Dev']/$cours_usd; echo $Fcurr;}
    if ($data200['pays'] == 'CAD' AND $data110['prix_devise'] == 'CAD') {$Fcurr = $data110['P en Dev']/$cours_cad; echo $Fcurr;}
    if ($data200['pays'] == 'EUR' AND $data110['prix_devise'] == 'EUR') {$Fcurr = $data110['P en Dev']; echo $Fcurr;}
    ...
    ?>
    merci de vos aides.

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Sans regarder plus sur la requête (il me semble que tu peux l'arranger), tu es sûr de tes tests avec le nom des champs ?

    Comme par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($data200['pays'] == 'CHF' AND $data110['prix_devise'] == 'CHF')
    C'est pas $data110['pays']

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 112
    Par défaut
    En effet, il y a une erreur avec les champs. j'ai posté le script tel que je me suis arrêté hier.
    mais le soucis n'est pas vraiment là.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $value = $data110['prix_devise'] . $data110['pays'];<-- ces variables proviennent du script principal
    la variable s'affiche de cette manière:
    901.55CHF
    3721.52EUR
    25359.75USD
    les cours des devises s'affichent eux aussi correctement dans le même ordre de classement que ci-dessus.
    1.211
    1
    1.29

    en faite je ne sais pas créer la bonne condition qui dit:

    si $montantCHF posséde CHF, $valeur_en_Euro = montantCHF / $cours_devise
    si $montantEUR posséde EUR, $valeur_en_Euro = montantEUR
    si $montantUSD posséde USD, $valeur_en_Euro = montantUSD / $cours_devise

    +

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 112
    Par défaut
    J'ai trouvé une solution fonctionnelle, peu être pas très propre a vos yeux, mais fonctionnelle, je suis preneur de toute amélioration.
    Merci Fench.
    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
    <?php
    $value = $data110['value']; <-- valeur en devise stockée dans une DB
    // echo $value;
    $EUR ='1'; <-- afin de contourner le soucis de division plus bas
    // CONNEXION A LA DB
    include ('x.php');
    // APPEL DE LA TABLE DEVISES 
    $sql200 = "SELECT * FROM devises";
    $req200 = mysql_query($sql200) or die('Erreur SQL !<br>'.$sql200.'<br>'.mysql_error());
    while($data200 = mysql_fetch_assoc($req200))
        {
        // AFFICHAGE DES INFOS
        // echo ''.$data200['pays'].' '.$data200['valeur'].'<br>';
    	if ($data200['pays'] == 'CHF' ) {$Cour_chf = $data200['valeur'];} <- définition de la variable $Cour_chf en fonction du controle et des données présente dans la table DEVISES
    	if ($data200['pays'] == 'USD' ) {$Cour_usd = $data200['valeur'];}
    	if ($data200['pays'] == 'GBP' ) {$Cour_gbp = $data200['valeur'];}
    	}
    // echo $Cour_chf; echo '<br>';<-- juste pour controler le bon retour lde la requete.
    // echo $Cour_usd; echo '<br>';
    // echo $Cour_gbp; echo '<br>';
     
    if ($data110['currency'] == 'CHF') {$CourDev = $Cour_chf;}
    if ($data110['currency'] == 'EUR') {$CourDev = $EUR;}
    if ($data110['currency'] == 'USD') {$CourDev = $Cour_usd;}
     
    if ($data110['currency'] == 'CHF') {$Fcurr = $value/$Cour_chf;}
    if ($data110['currency'] == 'EUR') {$Fcurr = $value/$EUR;}
    if ($data110['currency'] == 'USD') {$Fcurr = $value/$Cour_usd;}
    $Fcurr = number_format($Fcurr, 2, '.', '');
    ?>

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    En fait, j'aurais fait mais est ce que c'est ce que tu veux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // Nous effectuons la boucle et pour la devise correspondante à celle du client,
    // nous calculons sa valeur sur le prix de la devise actuelle pour l'euro
    if ($data200['pays'] == 'CHF' AND $data110['pays'] == 'CHF') {$Fcurr = $data110['prix_devise']/$data200['P en Dev']; echo $Fcurr;}
    En fait vu le code que tu fournies avec les tests, je comprends ça mais bon

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Ca te sert à quoi ce bout de code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    if ($data110['currency'] == 'CHF') {$CourDev = $Cour_chf;}
    if ($data110['currency'] == 'EUR') {$CourDev = $EUR;}
    if ($data110['currency'] == 'USD') {$CourDev = $Cour_usd;}

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 112
    Par défaut
    il me sert à afficher le cours des devises.
    j'adapte la première ligne que tu m'a suggeré, tu en fais une ou j'en ai besoin de 4...

Discussions similaires

  1. [VBA-Excel] affecter la valeur infinie à une variable
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/09/2006, 21h37
  2. Réponses: 4
    Dernier message: 06/09/2006, 14h50
  3. Réponses: 2
    Dernier message: 06/09/2006, 14h27
  4. [PHP-JS] affectation de la valeur d'une variable js à dans variable php
    Par Mat_DZ dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/08/2006, 17h21
  5. [VBA-E] affectation d'une valeur a une variable
    Par benjamin.leouzon dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/02/2006, 11h47

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