Comment créer une fonction?


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Comment créer une fonction?

Message le Ven Oct 15, 2010 8:30

Bonjour,

Je souhaiterais savoir comment appeler un petit bout de code qui revient plusieurs fois dans une page sans utiliser une include ?

Je pensais à une fonction bien que ça n'en soit pas une mais je ne suis pas très doué la dessus ..
Code: Tout sélectionner
function rappel()
{
   $donnees_total=mysql_fetch_assoc($retour_total);
   $total=$donnees_total['total'];
   $nombreDePages=ceil($total/$messagesParPage);
   if(isset($_GET['page']))
   {
      $pageActuelle=intval($_GET['page']);
      
      if($pageActuelle>$nombreDePages)
      {
         $pageActuelle=$nombreDePages;
      }
   }
   else
   {
      $pageActuelle=1;
   }

   $premiereEntree=($pageActuelle-1)*$messagesParPage;
}


Et comment appelé ensuite cette fonction ?

Merci


kanon90
WRInaute impliqué
WRInaute impliqué
 
Messages: 938
Inscription: 23 Mar 2007

Re: Comment créer une fonction?

Message le Ven Oct 15, 2010 8:33

tout simple :

tu écris :
rappel();

essaies de te renseigner sur l'utilisation des fonctions, fais des essais simples, parce que ton exemple n'a pas d'arguments et tu ne retourne aucun résultat !


Aaarrrgggh
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 394
Inscription: 16 Mar 2009

Re: Comment créer une fonction?

Message le Ven Oct 15, 2010 9:04

Code: Tout sélectionner
function mafonction($argument_1, $argument_2 = 0, $argument_3 = array())
{
     $resultat = 0;
     // process qui utilise $argument_1, $argument_2, $argument_3
    return $resultat;
}

$monresultat = mafonction('abc', 8);
echo $monresultat;


on utilise le mot clé function pour déclarer la fonction. on le fait suivre du nom de la fonction qui contient entre-parenthèses 0 ou n paramètres séparés par une virgule.
dans l'exemple, le premier, argument_1, est obligatoire.
le second, argument_2, n'est pas obligatoire, mais il est initialisé à 0.
le troisième, argument_3, n'est pas non plus obligatoire, mais il est initialisé à un tableau vide.
on initialise le résultat de la fonction en début de fonction à 0 ($resultat = 0);
on renvoie le résultat dans la variable $resultat;
on fait appel à la fonction en la nommant avec les paramètres correspondants. Le résultat est associé à une variable $monresultat qui est affichée par la méthode echo.


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Re: Comment créer une fonction?

Message le Ven Oct 15, 2010 9:18

Merci de vos explications :)

Donc à la final, ce que je souhaite n'est pas une fonction puisque aucun argument y est passé..

Moi je veux juste pouvoir appelé le petit bout code sans être obligé de faire une include.

Ps: j'ai lus plein de tutoriel sur les fonctions mais tous y passent des arguments.


Aaarrrgggh
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 394
Inscription: 16 Mar 2009

Re: Comment créer une fonction?

Message le Ven Oct 15, 2010 9:22

Normalement le calcul du nombre de pages ne devrait s'effectuer qu'une fois, non ?
ce que tu peux faire, c'est faire ton calcul en haut de script, le stocker dans une variable (globale ou non), et faire ensuite appel à cette variable.


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Re: Comment créer une fonction?

Message le Ven Oct 15, 2010 10:00

Le calcul du nombre de pages s'effectue en fonction d'un formulaire de recherches intégré aux pages du site qui prend en compte diverses champs selon la sélection de la catégorie.

En gros, sélection d'une catégorie par liste déroulante -> rechargement de la page et affichage des champs de recherches en + liés à la catégorie sélectionnée.

Ce qui fait que je suis obligé d'effectuer un calcul de pages individuelle pour chaque catégorie.

Pour en revenir à mon truc, y a t'il une autre solution que l'include ?


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19592
Inscription: 8 Aoû 2004

Re: Comment créer une fonction?

Message le Sam Oct 16, 2010 15:23

en plus, ne pas oublier que par défaut les variables définies à l'intérieur d'une fonction ne sont que locales, donc tes valeurs ne pourront être utilisées en dehors. En clair, tu ne passe aucun argument, tu n'en renvoie aucun et tu ne peux pas utiliser les valeurs de tes variables internes :roll:


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Re: Comment créer une fonction?

Message le Sam Oct 16, 2010 15:43

En d'autres termes, rien ne vaut une simple include dans ce cas ..?


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19592
Inscription: 8 Aoû 2004

Re: Comment créer une fonction?

Message le Sam Oct 16, 2010 16:08

non, il faut juste réfléchir à ce dont tu as besoin et s'il n'y a pas besoin de recalculer, le mieux étant de garder la valeur dans une variable. Une fonction doit avoir soit des valeurs en entrée, soit en sortie et éviter, autant que possible d'utiliser des variables globales.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

  • Générateur de mots-clés
    Cet outil vous permet de créer à partir de quelques mots-clés une liste d'expressions constituées des mots pris dans tous les ordres possibles. Il sert aux analyses de positionnement et achats de mots-clés.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité