Fonction PHP
Résolu/Fermé
Delphine97224
Messages postés
99
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
8 septembre 2011
-
12 août 2009 à 15:56
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 - 13 août 2009 à 11:02
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 - 13 août 2009 à 11:02
A voir également:
- Fonction PHP
- Fonction si et - Guide
- Easy php - Télécharger - Divers Web & Internet
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Fonction remplacer word - Guide
8 réponses
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
13 août 2009 à 09:23
13 août 2009 à 09:23
C'est normal que tu n'aies qu'une ligné : ton affichage ne se fait que après que ta boucle aie fini.
Donc l'affichage récupère la dernière valeur de $orientation.
Déplaces ton while comme ça :
<ul class="liste_icones">
<?php
function PageChoisie($orientation)
{
$result = "";
if ($orientation == "horizontale")
{
$result = "galerie-par-categorie";
}
else
{
$result = "galerie-par-categorie-vert";
}
return $result;
}
$resultats = mysql_query('SELECT * FROM categorie ORDER by id LIMIT 0, 18');
while ($donnees = mysql_fetch_array($resultats))
{
$orientation = $donnees['orientation'];
$id = $donnees['id'];
$icone = $donnees['icone'];
$nom = $donnees['nom'];
$PageChoisie = PageChoisie($orientation);
echo "<li><a href='" . $PageChoisie . ".php?id_categorie=$id'><img src='images/galerie/icones/$icone.png' alt='' />
<br /><span class='font-icone'>$nom</span>
</a></li>";
}
?>
</ul>
Ca devrait mieux marcher
Donc l'affichage récupère la dernière valeur de $orientation.
Déplaces ton while comme ça :
<ul class="liste_icones">
<?php
function PageChoisie($orientation)
{
$result = "";
if ($orientation == "horizontale")
{
$result = "galerie-par-categorie";
}
else
{
$result = "galerie-par-categorie-vert";
}
return $result;
}
$resultats = mysql_query('SELECT * FROM categorie ORDER by id LIMIT 0, 18');
while ($donnees = mysql_fetch_array($resultats))
{
$orientation = $donnees['orientation'];
$id = $donnees['id'];
$icone = $donnees['icone'];
$nom = $donnees['nom'];
$PageChoisie = PageChoisie($orientation);
echo "<li><a href='" . $PageChoisie . ".php?id_categorie=$id'><img src='images/galerie/icones/$icone.png' alt='' />
<br /><span class='font-icone'>$nom</span>
</a></li>";
}
?>
</ul>
Ca devrait mieux marcher
resalut
Messages postés
784
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
21 janvier 2010
55
12 août 2009 à 16:04
12 août 2009 à 16:04
ta fonction doit etre declaré hors de la boucle
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
12 août 2009 à 16:04
12 août 2009 à 16:04
Ta fonction est dans une boucle, sort la de ta boucle car ça la redéfinit à chaque fois ce qui n'est pas possible.
Delphine97224
Messages postés
99
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
8 septembre 2011
9
12 août 2009 à 16:30
12 août 2009 à 16:30
Je vous remercie pour votre aide.
J'ai mis la fonction avant le "while" par contre pour lien ça ne m'écrit pas ce qu'il y a dans les "echo" mais le nom de la fonction.
echo "<li><a href='PageChoisie($orientation).php?id_categorie=$resultats[id]'>......
Que dois-je faire pour que ça m'écrive ce qu'il y a dans les "echo" de la fonction ?
J'ai mis la fonction avant le "while" par contre pour lien ça ne m'écrit pas ce qu'il y a dans les "echo" mais le nom de la fonction.
echo "<li><a href='PageChoisie($orientation).php?id_categorie=$resultats[id]'>......
Que dois-je faire pour que ça m'écrive ce qu'il y a dans les "echo" de la fonction ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
12 août 2009 à 17:25
12 août 2009 à 17:25
Modifie ta fonction comme ça :
function PageChoisie($orientation)
$result = "";
{
if ($orientation == "horizontale")
{
$result = "galerie-par-categorie";
}
else
{
$result = "galerie-par-categorie-vert";
}
return $result;
}
Et ta ligne remplace la par :
$pageChoisie = PageChoisie($orientation);
echo "<li><a href='" . $pageChoisie . ".php?id_categorie=$resultats[id]'>......
Ca devrait être bon mais j'ai pas testé ...
function PageChoisie($orientation)
$result = "";
{
if ($orientation == "horizontale")
{
$result = "galerie-par-categorie";
}
else
{
$result = "galerie-par-categorie-vert";
}
return $result;
}
Et ta ligne remplace la par :
$pageChoisie = PageChoisie($orientation);
echo "<li><a href='" . $pageChoisie . ".php?id_categorie=$resultats[id]'>......
Ca devrait être bon mais j'ai pas testé ...
Delphine97224
Messages postés
99
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
8 septembre 2011
9
13 août 2009 à 01:51
13 août 2009 à 01:51
Je te remercie pour ton aide ça m'a fait avancer mais ça n'a pas résolu mes problèmes.
Le "while" me pose problème parce que si il est avant la fonction je n'ai que la dernière catégorie qui s'affiche et pas les autres et si il est après ça ne lit pas la fonction et j'ai retour à la case départ avec soit toutes les photos qui adoptent le style horizontale même quand elles sont verticales on le contraire.
Voilà le dernier code que j'ai :
<ul class="liste_icones">
<?php
$resultats = mysql_query('SELECT * FROM categorie ORDER by id LIMIT 0, 18');
while ($donnees = mysql_fetch_array($resultats))
{
$orientation = $donnees['orientation'];
$id = $donnees['id'];
$icone = $donnees['icone'];
$nom = $donnees['nom'];
}
function PageChoisie($orientation)
{
$result = "";
if ($orientation == "horizontale")
{
$result = "galerie-par-categorie";
}
else
{
$result = "galerie-par-categorie-vert";
}
return $result;
}
$PageChoisie = PageChoisie($orientation);
echo "<li><a href='" . $PageChoisie . ".php?id_categorie=$id'><img src='images/galerie/icones/$icone.png' alt='' />
<br /><span class='font-icone'>$nom</span>
</a></li>";
?>
</ul>
Je vous remercie pour votre aide
Le "while" me pose problème parce que si il est avant la fonction je n'ai que la dernière catégorie qui s'affiche et pas les autres et si il est après ça ne lit pas la fonction et j'ai retour à la case départ avec soit toutes les photos qui adoptent le style horizontale même quand elles sont verticales on le contraire.
Voilà le dernier code que j'ai :
<ul class="liste_icones">
<?php
$resultats = mysql_query('SELECT * FROM categorie ORDER by id LIMIT 0, 18');
while ($donnees = mysql_fetch_array($resultats))
{
$orientation = $donnees['orientation'];
$id = $donnees['id'];
$icone = $donnees['icone'];
$nom = $donnees['nom'];
}
function PageChoisie($orientation)
{
$result = "";
if ($orientation == "horizontale")
{
$result = "galerie-par-categorie";
}
else
{
$result = "galerie-par-categorie-vert";
}
return $result;
}
$PageChoisie = PageChoisie($orientation);
echo "<li><a href='" . $PageChoisie . ".php?id_categorie=$id'><img src='images/galerie/icones/$icone.png' alt='' />
<br /><span class='font-icone'>$nom</span>
</a></li>";
?>
</ul>
Je vous remercie pour votre aide
Delphine97224
Messages postés
99
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
8 septembre 2011
9
13 août 2009 à 09:34
13 août 2009 à 09:34
Je te remercie infiniment pour ton aide. C'est bon ça marche parfaitement.
En fait je pensais qu'il fallait impérativement déclarer $orientation avant la fonction. C'est pour cela que je l'ai mis avant la fonction. Jamais je n'ai essayé de déplacer cela.
Merci !
En fait je pensais qu'il fallait impérativement déclarer $orientation avant la fonction. C'est pour cela que je l'ai mis avant la fonction. Jamais je n'ai essayé de déplacer cela.
Merci !
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
13 août 2009 à 11:02
13 août 2009 à 11:02
De rien c'est très bien si ça fonctionne ! =)