Pb avec fonction perso

Pb avec fonction perso - PHP - Programmation

Marsh Posté le 12-06-2006 à 18:05:30    

Salut les gars,
 
J'ai un pb avec une fonction:

Code :
  1. // Définition des fonctions
  2. // Début réponse ------
  3. function Reponse($rep) {
  4. echo '<p>';
  5.  // Titre
  6.  echo $rep;
  7.  echo ': ';
  8.   // Total
  9.   $connexion = mysql_db_query($sql_bdd_web_omusic,"SELECT * FROM sondage_reponse WHERE id_sondage='$sond' AND r1='$rep'" ) or die("Erreur mysql_db_query" );
  10.   $nb = mysql_num_rows($connexion);
  11.   if ($nb > 0) {
  12.   echo $nb;
  13.   }
  14.   else {
  15.   echo $no_r;
  16.   }
  17.   // En pourcentage
  18.   $n = $nb / $nb_total;
  19.   $n = round($n, 2);
  20.   echo ' soit '.$n.'%';
  21. echo '</p>';
  22. // Fin réponse ------
  23. }


 
Ensuite je l'appelle comme suit :

Code :
  1. Reponse ("OUI" );


Mais voila ce qui s'affiche :

Code :
  1. OUI: Erreur mysql_db_query


 
Je comprends pas d'où l'erreur car le code fonctionne en dehors d'une fonction.
En effet, si je mets ça :

Code :
  1. // Début réponse ------
  2. $rep = "OUI";
  3. echo '<p>';
  4. // Titre
  5. echo $rep;
  6. echo ': ';
  7. // Total Question 1
  8. $connexion = mysql_db_query($sql_bdd_web_omusic,"SELECT * FROM sondage_reponse WHERE id_sondage='$sond' AND r1='$rep'" ) or die("Erreur mysql_db_query" );
  9. $nb = mysql_num_rows($connexion);
  10. if ($nb > 0) {
  11. echo $nb;
  12. }
  13. else {
  14. echo $no_r;
  15. }
  16. // En pourcentage
  17. $n = $nb / $nb_total;
  18. $n = round($n, 2);
  19. echo ' soit '.$n.'%';
  20. echo '</p>';
  21. // Fin réponse ------


 
Quelqu'un voit il la bourde ? :??:  
 
Merki
 

Reply

Marsh Posté le 12-06-2006 à 18:05:30   

Reply

Marsh Posté le 12-06-2006 à 18:40:53    

function Reponse($rep) {
   global $sql_bdd_web_omusic;
 
   // suite...
}


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 12-06-2006 à 18:51:05    

Merci mais il y a toujours un pb.
 
Ca m'a enlévé l'erreur mais rien ne s'affiche.
 
Je suppose que la requête est mal formulée.
 
En plus je me rends compte qu'à la ligne 8, au lieu d'écrire le nom de la colonne (ici r) à chaque fois, je voudrais bien l'automatiser.
 
J'ai modifié la fonction comme suite :

Code :
  1. // Définition des fonctions
  2. // Début réponse ------
  3. function Reponse($rep, $col) {
  4. global $sql_bdd_web_omusic;
  5. echo '<p>';
  6.  // Titre
  7.  echo $rep;
  8.  echo ': ';
  9.   // Total
  10.   $connexion = mysql_db_query($sql_bdd_web_omusic,"SELECT * FROM sondage_reponse WHERE id_sondage='$sond' AND '$col'='$rep'" ) or die("Erreur mysql_db_query" );
  11.   $nb = mysql_num_rows($connexion);
  12.   if ($nb > 0) {
  13.   echo $nb;
  14.   }
  15.   else {
  16.   echo $no_r;
  17.   }
  18. }
  19. function Pourcentage(){
  20.   // En pourcentage
  21.   $n = $nb / $nb_total;
  22.   $n = round($n, 2);
  23.   echo ' soit '.$n.'%';
  24.  echo '</p>';
  25. // Fin réponse ------
  26. }


 
mais ca marche toujours pas.
 
Une idée parce que là après 1 après midi sur cette fontion de merde j'en ai un peu plein les burnes (passez moi l'expresion).
 
En plus ca à l'air simple.

Reply

Marsh Posté le 12-06-2006 à 18:57:54    

C'est quoi $no_r ? Je suppose qu'elle vient aussi de l'extérieur, donc tu la mets dans le "global" aussi. Pareil pour ce qu'il y a dans Pourcentage()... faudrait penser aux paramètres des fonctions... et éviter les echo dans une fonction d'ailleurs, c'est rarement indispensable... et indenter ça un peu moins cradement... bref. :/
 
Conseil : mets un error_reporting(E_ALL | E_STRICT) en haut de ta page (mieux, dans le php.ini si t'y as accès) quand tu dois débugger ton site... ça aide.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed