Fonction PHP
Résolu
Delphine97224
Messages postés
99
Date d'inscription
Statut
Membre
Dernière intervention
-
Passarinho44 Messages postés 963 Date d'inscription Statut Contributeur Dernière intervention -
Passarinho44 Messages postés 963 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai fait une galerie pour mon site de photos. Tout passe bien mais voilà j'ai des photos verticales et des photos horizontales. Je souhaite faire des galeries avec que des photos horizontales et d'autres avec des galeries verticales.
Pour cela, je souhaite que si les photos sont horizontales cela renvoie sur une page avec son css ou sinon que ça renvoie sur la page prévue pour les photos verticales.
J'ai donc fait une fonction.
Elle récupère l'orientation que j'ai choisie. Si l'orientation est horizontale cela renvoie vers le nom de la page sinon ça renvoie le nom de la page verticale.
Voilà mon code :
$categories = mysql_query('SELECT * FROM categorie');
while ($resultats = mysql_fetch_array($categories))
{
$orientation = $resultats['orientation'];
function PageChoisie($orientation)
{
if ($orientation == "horizontale")
{
echo "galerie-par-categorie";
}
else
{
echo "galerie-par-categorie-vert";
}
}
echo "<li><a href='PageChoisie($orientation).php?id_categorie=$resultats[id]'>......
Le reste de ce code est bon.
J'obtiens ce message d'erreur :
Fatal error: Cannot redeclare pagechoisie() (previously declared in .....
Les fonctions en php j'ai lu beaucoup de documentation dessus mais je n'arrive pas à m'en sortir :s
Je vous remercie par avance pour votre aide
J'ai fait une galerie pour mon site de photos. Tout passe bien mais voilà j'ai des photos verticales et des photos horizontales. Je souhaite faire des galeries avec que des photos horizontales et d'autres avec des galeries verticales.
Pour cela, je souhaite que si les photos sont horizontales cela renvoie sur une page avec son css ou sinon que ça renvoie sur la page prévue pour les photos verticales.
J'ai donc fait une fonction.
Elle récupère l'orientation que j'ai choisie. Si l'orientation est horizontale cela renvoie vers le nom de la page sinon ça renvoie le nom de la page verticale.
Voilà mon code :
$categories = mysql_query('SELECT * FROM categorie');
while ($resultats = mysql_fetch_array($categories))
{
$orientation = $resultats['orientation'];
function PageChoisie($orientation)
{
if ($orientation == "horizontale")
{
echo "galerie-par-categorie";
}
else
{
echo "galerie-par-categorie-vert";
}
}
echo "<li><a href='PageChoisie($orientation).php?id_categorie=$resultats[id]'>......
Le reste de ce code est bon.
J'obtiens ce message d'erreur :
Fatal error: Cannot redeclare pagechoisie() (previously declared in .....
Les fonctions en php j'ai lu beaucoup de documentation dessus mais je n'arrive pas à m'en sortir :s
Je vous remercie par avance pour votre aide
A voir également:
- Fonction PHP
- Fonction si et - Guide
- Easy php - Télécharger - Divers Web & Internet
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Expert php pinterest - Télécharger - Langages
8 réponses
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
Ta fonction est dans une boucle, sort la de ta boucle car ça la redéfinit à chaque fois ce qui n'est pas possible.
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
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é ...
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