gontran Posté 16 Juin 2006 Posté 16 Juin 2006 (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é 16 Juin 2006 par gontran
iDo8p Posté 16 Juin 2006 Posté 16 Juin 2006 salut, ecrit tous simplement note(); au lieu de echo 'note();';
gontran Posté 16 Juin 2006 Auteur Posté 16 Juin 2006 (modifié) ok merci ca fonctionne Modifié 16 Juin 2006 par gontran
captain_torche Posté 16 Juin 2006 Posté 16 Juin 2006 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();
Nicolas Posté 16 Juin 2006 Posté 16 Juin 2006 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.
gontran Posté 16 Juin 2006 Auteur Posté 16 Juin 2006 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
MS-DOS_1991 Posté 16 Juin 2006 Posté 16 Juin 2006 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 )
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant