Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3021 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème de paramètre dans ma fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de paramètre dans ma fonction

n°1893715
sinifer
Posté le 10-06-2009 à 16:29:02  profilanswer
 

Bonjour,
 
je fais une fonction mais sa marche pas j'ai aucune sortie donc je pence que j'ai une erreur dans mes paramètre comme je suis assez nul avec les paramètres je demande votre aide et une petite explication du pourquoi si c'est posible je vous remerci d'avence.
 
voici ma création de la fonction

Code :
  1. function relance_id($row_ct)
  2. {
  3. if( $row_ct_emv['relances_id']== '1' ) {
  4. return $ct_emv .= 'france';
  5. }
  6. else if( $row_ct_emv['relances_id']== '2' ) {
  7. return $ct_emv .= 'amerique';
  8. }
  9. else if( $row_ct_emv['relances_id']== '3' ) {
  10. return $ct_emv .= 'suede';
  11. }
  12. else if( $row_ct_emv['relances_id']== '4' ) {
  13. return $ct_emv .= 'portugal';
  14. }
  15. else if( $row_ct_emv['relances_id']== '5' ) {
  16. return $ct_emv .= 'espagne';
  17. }
  18. else if( $row_ct_emv['relances_id']== '6' ) {
  19. return $ct_emv .= 'suisse';
  20. }
  21. else if( $row_ct_emv['relances_id']== '7' ) {
  22. return $ct_emv .= 'russie';
  23. }
  24. else {
  25. return $ct_emv .= 'norvege';
  26. }
  27. }


 
et là l'appel de ma fonction
 
while ($row_ct_emv = mysql_fetch_assoc($result_ct_emv)) {
     $row_ct  = $row_ct_emv['relances_id'];
     relance_id($row_ct);
    echo "<tr><td with=\"20px\"></td><td width=\"100px\">".$ct_emv."</td><td width=\"120px\"><b>".$row_ct_emv['planning_date']."</b></td></tr>";
   }
 
 
 
je vous remerci de bien vouloir m'éclairé

mood
Publicité
Posté le 10-06-2009 à 16:29:02  profilanswer
 

n°1893723
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 10-06-2009 à 16:48:53  profilanswer
 

c'est un peu normal que tu n'est rien
tu fait un return dans ta fonction
mais lorsque tu appele ta fonction tu met pas le retour dans une variable
 il faut que tu fasse $mavariable=relance_id($row_ct); et dans $mavariable tu auras le retour de ta fonction

n°1893730
deliriumtr​emens
sic transit intestinal...
Posté le 10-06-2009 à 16:58:44  profilanswer
 

Fichtre, pas mal de choses à corriger (qui a dit tout ?)

 

Dans ta fonction "relance_id", tu as comme paramètre $row_ct, mais tu fais tes "if" sur $row_ct_env (que la fonction ne connaît pas, à moins que tu n'utilises des variables globales partout).

 

Tu n'affectes pas la valeur de retour de la fonction relance_id  à une variable (donc elle ne sert à rien dans ta configuration).

 

Donc, pour rester proche de ce que tu fais

Code :
  1. while ($row_ct_emv = mysql_fetch_assoc($result_ct_emv)) {
  2.     $country= relance_id($row_ct_emv['relances_id']);
  3.     echo "<tr><td with=\"20px\"></td><td width=\"100px\">".$country."</td><td width=\"120px\"><b>".$row_ct_emv['planning_date']."</b></td></tr>";
  4.    }
 

et ta fonction gagnerait en clarté avec l'utilisation d'un switch

Code :
  1. function relance_id($relance) {
  2. switch ($relance) {
  3. case 1:
  4. return 'france';
  5. break;//bon, le break doit être inutile, vu qu'on a un return...
  6. case 2:
  7. return 'amerique';
  8. break;//idem
  9. //etc.
  10. default:
  11. return 'norvège';
  12. break//idem
  13. }
  14. }
 

Cela dit, du moment que tu travailles avec une BDD, il pourrait être intéressant d'avoir une table pays_relance, ou un truc du genre, non ?


Message édité par deliriumtremens le 10-06-2009 à 17:03:12
n°1893731
sinifer
Posté le 10-06-2009 à 17:01:35  profilanswer
 

ok merci c'étais sa
 
très bonne journée

n°1894112
rufo
Pas me confondre avec Lycos!
Posté le 11-06-2009 à 13:09:48  profilanswer
 

C'est normal que le paramètre de ta fonction $row_ct alors que dans test tes, la variable s'appelle $row_ct_emv :??:
Et je te suggère de remplacer ton gros if/else if par un switch

Code :
  1. function relance_id($row_ct)
  2. {
  3.     switch($row_ct['relances_id'])
  4.     {
  5.         case '1':
  6.             $ValRetour = 'france';
  7.             break;
  8.        case '2':
  9.              ....
  10.        default:
  11.            $ValRetour = 'norvege';
  12.            break;
  13.     }
  14.     return $ValRetour;
  15. }


 
Et encore mieux, utiliser un tableau associatif pour éviter le switch :

Code :
  1. function relance_id($row_ct)
  2. {
  3.     $aCodesPays = array('1' => 'france', '2' => 'amerique', ....);
  4.     if (isset($aCodesPays[$row_ct['relances_id']]))
  5.     {
  6.         $ValRetour = $aCodesPays[$row_ct['relances_id']];
  7.     }
  8.     else
  9.     {
  10.         $ValRetour = 'norvege';
  11.     }
  12.     return $ValRetour;
  13. }


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème de paramètre dans ma fonction

 

Sujets relatifs
[Débutant][OpenGL ES] Problème affichage texturesProblème fonction mail
Excel 2003, problème avec une boucleprobleme livre d'or
Problème sur ComboBoxProbleme parametre de fonction javascript
Probleme de lieurcallback vers un fonction membre, sans parametre "user"
problème de paramètre dans une fonction[c] probleme de tableau a 2 dimensions passee en parametre de fonction
Plus de sujets relatifs à : Problème de paramètre dans ma fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR