Aller au contenu

appel d'une fonction dans une fonction


Sujets conseillés

Posté (modifié)

Bonjour le Hub,

Je cherche une solution pour inserrer une fonction dans une fonction

Je m'explique :

Cette fonction affiche mon catalogue:

function list_appel (){
$appelationurl=$_GET['appelation'];
echo '<h2>'.$appelationurl.'</h2>';
$querry_appelation=mysql_query("SELECT id, couleur, chato, millesime, photo, prix, note_sommelier from vin WHERE appelation='$appelationurl' ORDER BY chato ASC");
while ($appelation=mysql_fetch_array($querry_appelation)){
$id=$appelation['id'];
$couleur=$appelation['couleur'];
$prix=$appelation['prix'];
$mill=$appelation['millesime'];
$chato=$appelation['chato'];
$photo=$appelation['photo'];
$note=$appelation['note_sommelier'];
//affichage des resultats de la rqt
echo '<div class="liste">';
echo '<div class="image">';
echo '<img src='.$photo.'>';
echo '</div>';
echo '<div class="ajout">';
echo '<p align="right"><a href="../caddie/add_cart.php?id='.$appelation['id'].'&quantite=1" title="'.$appelation['chato'].'"><img src="../images/detail.gif" border=0 /></a></p>';
echo '<p align="right"><a href="../caddie/add_table_active.php?id='.$appelation['id'].'&quantite=1" title="'.$appelation['chato'].'"><img src="../images/ajouter.gif" border=0 /></a></p>';
echo '</div>';
echo ' note (); ';
...

Cette fonction affiche la note du sommelier :

function note () {
if ($note='1') {
echo '<table width="150">';
echo '<tr>';
echo '<td width="39">Note : </td>';
echo '<td width="111"><img src="../images/notation/demi.gif" /></td>';
echo '</tr>';
echo '</table>';
}
if ($note='2') {
echo '<table width="150">';
echo '<tr>';
echo '<td width="39">Note : </td>';
echo '<td width="111"><img src="../images/notation/1.gif" /></td>';
echo '</tr>';
echo '</table>';
}
if ($note='3') {
echo '<table width="150">';
echo '<tr>';
echo '<td width="39">Note : </td>';
echo '<td width="111"><img src="../images/notation/1demi.gif" /></td>';
echo '</tr>';
echo '</table>';
}}

Dans le premier bloc de code la derniere ligne doit appeller la fonction "note" mais rien ne ce passe

Je charche mais je trouve pas comment faire...

Quelqu'un a une idée ?

Merci

Gontran

Modifié par gontran
Posté

Enlève les guillemets autour de 'note();', dans ton echo 'note();';

Tel quel, il t'affiche la chaîne de caractères 'note();'.

Change-le tout simplement par un echo note();

Posté

Bonjour gontran,

Il faut que tu passes la variable $note en parametre à la fonction note($note) car là la variable $note est locale à la fonction list_appel.

Tu as une deuxieme solution qui consiste à déclarer cette variable $note en global.

Posté

merci a tous ca fonctionne nickel maintenant...

par contre j'ai utiliser l'instruction switch

on m'a dit que c'etais plus indiquer pour ce genre de code

Posté
par contre j'ai utiliser l'instruction switch

on m'a dit que c'etais plus indiquer pour ce genre de code

C'est plus "lisible" qu'une longue succession de if/elseif , mais tu y perdras (un peu) en performances ;)

A toi de choisir entre lisibilité et performances (bien qu'à mon sens, je trouve les if/elseif/else aussi lisibles et compréhensibles que les switchs :rolleyes: )

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...