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 :

problème avec l'utilisation d'une fonction


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut problème avec l'utilisation d'une fonction
    Bonjours voila j'ai un problème avec une fonction que j'ai faite. Elle sert a calculé un pourcentage, la fonction se présente comme cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function calcul_pourcentage($total, $nb)
    {
    	if ($total==0)
    	{
    	return 0;
    	}
    	else
    	{
    	return ($nb/$total)*100;
    	}
    }
    Le code de ma fonction est en haut de ma page de code, le probleme c'est que je dois utiliser cette fonction dans plusieurs boucle while, et chaque boucle while calcule une valeur pour $nb.

    Le problème c'est que qd j'exécute mon programme j'ai une erreur :
    "Missing argument 1 for calcul_pourcentage() "

    Je pense qu'il ne prend pas en compte ma variable $nb comme elle est definie beaucoup plus bas dans le code.

    je débute en php et je ne trouve pas de solution.

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Le problème se situe surement au niveau de l'appel de ta fonction, est-ce que tu lui passes bien deux paramètres? Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $prixdepart = 150;
    $nouveauprix = 112;
    $monpourcentage = calcul_pourcentage($prixdepart,  $nouveauprix);
     
    echo "Mon nouveau prix correspond à $monpourcentage du prix total";

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    Arf oui la syntaxe de l'appel de ma fonction n'était pas bonne.
    Sinon la j'ai plus de message d'erreur, mais il me renvoie 0 tout le temps.

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Si tu ne donnes pas les infos sur la manière dont tu appelles la fonction je ne peux pas t'en dire plus! La fonction en elle-même semble correcte.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    J'appel ma fonction dans une boucle while.
    j'y definie la valeur de $nb

    $nb = $array['Cpt']; // résultat d'une requête sql
    $pourcent = calcul_pourcentage($nb, $total);
    echo $pourcent;


    Le truc que je comprend pas c'est qu'il me renvoie des valeur bizarre, j'ai fais un echo de mes 3 valeurs avant l'echo de $pourcent pour testé, et :

    $nb = 1
    $total = 2
    $pourcent = 200 // c'est la que je comprend pas pourquoi il me renvoi 200

    Puisque (1/2)*100 = 50 et pas 200.

  6. #6
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    oui mais dans ta fonction le premier paramètre c'est $total, et dans ton appel le premier paramètre c'est $nb

    en gros tu as décidé que tu passais le total d'abord dans la fonction, mais quand tu l'appelles tu lui passes en deuxieme, ca fait donc
    (2/1) *100 = 200

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    Ok problème résolu.
    Merci pour l'aide, faudra vraiment que je fasse plus gaffe a ce que j'écris.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/07/2009, 13h51
  2. problème avec l'exécution d'une fonction
    Par b_reda31 dans le forum Images
    Réponses: 2
    Dernier message: 31/05/2008, 13h50
  3. Réponses: 4
    Dernier message: 22/03/2008, 12h06
  4. problème avec l'appel d'une fonction
    Par mademoizel dans le forum ASP
    Réponses: 5
    Dernier message: 26/06/2006, 15h04
  5. Problème avec l'utilisation de la fonction clock
    Par Matgic95 dans le forum C++Builder
    Réponses: 13
    Dernier message: 09/05/2005, 19h27

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