Afficher une note de 1 à 5 : aidez moi à optimiser :( [PHP] - PHP - Programmation
Marsh Posté le 09-07-2002 à 10:11:06
thekeke2 a écrit a écrit : Voilà le principe... Je note chaque jeu sur mon site de 1 à 5 coeur... A la base il y a des coeurs vides (noirs) http://www.pagepardefaut.com/images/coeurvide.gif Quand je mets une note de 1 à 4 les coeurs deviennent rouge : http://www.pagepardefaut.com/images/coeur.gif Et quand je mets 5 (la note max.) les coeurs deviennent "or" : http://www.pagepardefaut.com/images/coeuror.gif Actuellement mon code est le suivant : if($lanote == "5" ) { for( $i=0; $i < $lanote; $i++ ) { echo '<img src="images/coeuror.gif" width="20" height="17">'; } } else { for( $i=0; $i < $lanote; $i++ ) { echo '<img src="images/coeur.gif" width="20" height="17">'; } for( $i=$lanote; $i < 5; $i++ ) { echo '<img src="images/coeurvide.gif" width="20" height="17">'; } } J'aimerais savoir si je peux l'optimiser ou si j'ai choisi la meilleure façon ? De plus j'aimerais mettre un ALT différent sur chaque coeur. Sur le premier "bof, puis "pas mal", "bien", "très bien", "génial"... Est ce possible facilement ? Pour voir le tout sur mon site c'est par exemple là : http://www.pagepardefaut.com/index [...] =animation |
pour les ALT fais un switch.
pour ski est en gras, ca aurait été + lisible de mettre 5 au lieu de $lanote.
Marsh Posté le 09-07-2002 à 10:16:46
Tu crée 5 images correspondant aux 5 notes, chaque images contients donc plusieurs coeurs et pas un seul, et tu les appelles 1.png à 5.png.
Et le code devient (avec la gestion du Alt en cadeau) :
Code :
|
Enfin, c'est comme ça que je le ferais...
Marsh Posté le 09-07-2002 à 10:18:43
thekeke2 a écrit a écrit : De plus j'aimerais mettre un ALT différent sur chaque coeur. Sur le premier "bof, puis "pas mal", "bien", "très bien", "génial"... Est ce possible facilement ? |
L'algo est bon, si ce n'est mettre 5 au lieu de $lanote dans le premier for comme l'a dit goueg.
Pour les alt, le mieux est de faire un tableau (le switch demande des tests) :
$alt[0] = "bof";
...
$alt[4] = "génial"
Puis :
for( $i=0; $i < $lanote; $i++ ) {
echo '<img src="images/coeur.gif" width="20" height="17" alt="$alt[i]">';
}
Par contre, il faut savoir que "alt" n'affiche un texte qu'avec IE. Pas avec Mozilla/Netscape. Le mieux est d'utiliser l'attribut "title".
Edit : grrrr grilled !
Marsh Posté le 09-07-2002 à 10:19:39
kadreg a écrit a écrit : Tu crée 5 images correspondant aux 5 notes, chaque images contients donc plusieurs coeurs et pas un seul, et tu les appelles 1.png à 5.png. |
Ah oui j'y avais pas pensé...
Bon si je change de système de notation je dois me retaper les images mais sinon c'est vrai que c'est plus simple niveau code...
Merci
(nb : merci goueg aussi)
Marsh Posté le 09-07-2002 à 10:20:53
ah je croyais kiyavé un alt different sur chaque coeur...
ce ki est stupide en fait.
au fait papa pingouin... mwé bon ca m'a pas trooo remotivé mais ca s'écoute koi
Marsh Posté le 09-07-2002 à 10:23:20
Goueg a écrit a écrit : ah je croyais kiyavé un alt different sur chaque coeur...ce ki est stupide en fait. |
Euh....
en fait c'est ce que je voulais faire au début
Marsh Posté le 09-07-2002 à 10:24:45
thekeke2 a écrit a écrit : Euh.... en fait c'est ce que je voulais faire au début |
ah
c stupide
Marsh Posté le 09-07-2002 à 10:27:28
thekeke2 a écrit a écrit : en fait c'est ce que je voulais faire au début |
Je trouve pas ça terrible, parceque si quelque chose à une bonne note, il récupéreras aussi les avis des mauvaises notes, ce qui est faux puisqu'il a une bonne note. Donc au niveau IHM, je trouve pas ça terrible.
Edit : mon dieu, j'ai fait une répétition qui dit deux fois la même chose
Marsh Posté le 09-07-2002 à 10:31:28
kadreg a écrit a écrit : Je trouve pas ça terrible, parceque si quelque chose à une bonne note, il récupéreras aussi les avis des mauvaises notes, ce qui est faux puisqu'il a une bonne note. Donc au niveau IHM, je trouve pas ça terrible. Edit : mon dieu, j'ai fait une répétition qui dit deux fois la même chose |
non c'était en fait pour qu'in puisse voir a quoi correspondait chaque coeur... mais c'est complètement con j'avoue...
Bon maintenant faut que j'aille sur "graphisme" demander comment graphiquement je pourrais faire comprendre aux visteurs qu'en cliquant sur (par exemple) un + ou un - il peut faire monter ou descendre la note d'un jeu..
A moins que vous ayez des idées ?
Thekeke (abusateur professionel )
Marsh Posté le 09-07-2002 à 10:33:34
on se croirait a Carrefour
moi je mettrais une légende "en cliquant sur + ou - vous pouvez monter ou descendre la note du jeu"
Marsh Posté le 09-07-2002 à 10:36:34
thekeke2 a écrit a écrit : un + ou un - il peut faire monter ou descendre la note d'un jeu.. |
[+] et [-] a coté de la note. Lorsque tu clique sur un des deux, ça ouvre une petite fenetre qui fait le vote et qui se referme automatiquement, comme le système de scoring de linuxfr.
Marsh Posté le 09-07-2002 à 10:39:59
kadreg a écrit a écrit : [+] et [-] a coté de la note. Lorsque tu clique sur un des deux, ça ouvre une petite fenetre qui fait le vote et qui se referme automatiquement, comme le système de scoring de linuxfr. |
J'ai pensé à ça mais je ne toruve pas ça clair pour le visiteur... je ne sais pas si ca va lui paraitre évident qu'il faut cliquer pour faire monter la note...
Je vais essayer avec la légende en plus... si ça fait trop chargé je peux toujours faire marche arrière de ttes façons
Marsh Posté le 09-07-2002 à 10:47:00
kadreg a écrit a écrit : Tu crée 5 images correspondant aux 5 notes, chaque images contients donc plusieurs coeurs et pas un seul, et tu les appelles 1.png à 5.png. Et le code devient (avec la gestion du Alt en cadeau) :
|
C'est génial (5 coeurs donc ) ca donne tout à fait l'effet que je voulais en étant bcp plus simple !!! Merci encore !
Marsh Posté le 09-07-2002 à 10:55:47
Si je peux me permettre ta page ressemble à un gros kit graphique, ca serait quand meme bien de mettre le lien du site qui te la fournit hein
Marsh Posté le 09-07-2002 à 11:02:31
Limit a écrit a écrit : Si je peux me permettre ta page ressemble à un gros kit graphique, ca serait quand meme bien de mettre le lien du site qui te la fournit hein |
C'est fait depuis le début ...
Dans la partie partenaire à droite en page accueil...
(et je fais de la pub pour lui dans pas mal d'autres de mes sites même s'ils n'utilisent pas ses kits)
tiens d'ailleurs :
hop : http://www.xtend-design.com
Marsh Posté le 09-07-2002 à 09:58:16
Voilà le principe... Je note chaque jeu sur mon site de 1 à 5 coeur...
A la base il y a des coeurs vides (noirs)
Quand je mets une note de 1 à 4 les coeurs deviennent rouge :
Et quand je mets 5 (la note max.) les coeurs deviennent "or" :
Actuellement mon code est le suivant :
if($lanote == "5" )
{
for( $i=0; $i < $lanote; $i++ ) {
echo '<img src="images/coeuror.gif" width="20" height="17">';
}
}
else
{
for( $i=0; $i < $lanote; $i++ ) {
echo '<img src="images/coeur.gif" width="20" height="17">';
}
for( $i=$lanote; $i < 5; $i++ ) {
echo '<img src="images/coeurvide.gif" width="20" height="17">';
}
}
J'aimerais savoir si je peux l'optimiser ou si j'ai choisi la meilleure façon ?
De plus j'aimerais mettre un ALT différent sur chaque coeur. Sur le premier "bof, puis "pas mal", "bien", "très bien", "génial"... Est ce possible facilement ?
Pour voir le tout sur mon site c'est par exemple là :
http://www.pagepardefaut.com/index [...] =animation
---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...