probleme surement facile à résoudre mais me semble bizzare...!

probleme surement facile à résoudre mais me semble bizzare...! - PHP - Programmation

Marsh Posté le 07-03-2004 à 18:40:14    

:hello:  
 
Je vais vous présenter ce minuscule probleme qui me casse la tete:  :(  
 
-Je fais un include sur un fichier php qui contient une variable initialisée sur une valeur.
 
-Ensuite dans une fonction j'utilise tout betement cette valeur et je me rend compte que cette fonction ne trouve pas ma variable !! On dirait que pour la fonction, la variable n'existe pas ! Alors que j'ai mis l'include avant la déclaration de la fonction.Je comprend pas du tout ou y  a 1 énorme truc qui doit m'échapper.
 
voici mon code:
 

Code :
  1. include("connexion.php" );
  2. include("variables.php" );//fichier php qui contient la variable nb_par_page
  3. function display($result,$index,$nbChamps)
  4. {
  5. if(mysql_data_seek($result,$index))//prepositionne le pointeur de resultat sur la ligne numéro $index
  6. {
  7. $max=0;
  8. while($max < $nb_par_page)//cette variable $nb_par_page n'est pas connu par la fonction !
  9.  {
  10.                    ......................

Reply

Marsh Posté le 07-03-2004 à 18:40:14   

Reply

Marsh Posté le 07-03-2004 à 18:52:39    

ben normal, faut mettre la variable $nb_par_page en entrée dans la fonction.
 
[edit] doit y avoir d'autres méthodes.


Message édité par Ayuget le 07-03-2004 à 19:09:40
Reply

Marsh Posté le 07-03-2004 à 18:55:20    

Ayuget a écrit :

ben normal, faut mettre la variable $nb_par_page en entrée dans la fonction.


 
à ce tarif là, il va y en avoir des entrées dans les fonctions non ?? y a pas moyen que la fonction récupère la variable qui est dans le fichier include ??

Reply

Marsh Posté le 07-03-2004 à 19:02:42    

Et sinon pour modifier la valeur de index qui est passé en paramatre dans la fonction,je modifie index dans la fonction (index est une variable globale et non locale à priori...) et une fois sorti de la fonction, index n'a pas changé alors que ds la fonction sa valeur été changée ! faut pas faire un return comme en C qd meme ?!

Reply

Marsh Posté le 07-03-2004 à 19:11:11    

PHP est un langage curieux on on ne déclare pas les nouvelles variables avant de les utiliser, mais où il faut déclarer les variables globales si on veut les utiliser dans une fonction :
 

Code :
  1. function display($result,$index,$nbChamps)
  2. {
  3. global $nb_par_page; // pour utiliser la variable globale
  4.                   ......................


Message édité par mrbebert le 07-03-2004 à 19:11:58
Reply

Marsh Posté le 07-03-2004 à 19:23:40    

jme disait bien aussi que y'avait d'autres moyens :)

Reply

Marsh Posté le 07-03-2004 à 19:51:45    

Sinon, pour modifier une varibale passée à une fonction, il faut la passer par référence :
 
http://www.php.net/manual/fr/langu [...] s.pass.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 07-03-2004 à 21:00:02    

Merci beaucoup à tout le monde ça va impecc now :-)

Reply

Sujets relatifs:

Leave a Replay

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