[PHP] Afficher une note de 1 à 5 : aidez moi à optimiser :(

Afficher une note de 1 à 5 : aidez moi à optimiser :( [PHP] - PHP - Programmation

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) 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
 


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

Marsh Posté le 09-07-2002 à 09:58:16   

Reply

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.


---------------
(Feed-Back HFR) - Funky Tonight!
Reply

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 :
  1. altTab = Array ("1"=>"bof",
  2.                 "2"=>"pas mal",
  3.                 "3"=>"bien",
  4.                 "4"=>"très bien",
  5.                 "5"=>"génial" );
  6. echo '<img src="images/'.$note.'.gif" alt="'. altTab[$note].'" >';


 
Enfin, c'est comme ça que je le ferais...


Message édité par kadreg le 09-07-2002 à 10:17:05

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

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 ! ;)


Message édité par gm_superstar le 09-07-2002 à 10:19:27
Reply

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  :D  
 
(nb : merci goueg aussi)


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

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 :sarcastic:  ;)


---------------
(Feed-Back HFR) - Funky Tonight!
Reply

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  :ange:  :p


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

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  :ange:  :p  




ah [:nofret]
c stupide :p
 
:D


---------------
(Feed-Back HFR) - Funky Tonight!
Reply

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  :ange:  :p  




 
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 :)


Message édité par kadreg le 09-07-2002 à 10:28:08

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

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  :D ?
 
 
Thekeke (abusateur professionel ;) )


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

Marsh Posté le 09-07-2002 à 10:31:28   

Reply

Marsh Posté le 09-07-2002 à 10:33:34    

on se croirait a Carrefour :D
 
moi je mettrais une légende "en cliquant sur + ou - vous pouvez monter ou descendre la note du jeu" [:yaisse2]


---------------
(Feed-Back HFR) - Funky Tonight!
Reply

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.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

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 ;)


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

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) :  

Code :
  1. altTab = Array ("1"=>"bof",
  2.                 "2"=>"pas mal",
  3.                 "3"=>"bien",
  4.                 "4"=>"très bien",
  5.                 "5"=>"génial" );
  6. echo '<img src="images/'.$note.'.gif" alt="'. altTab[$note].'" >';


 
Enfin, c'est comme ça que je le ferais...




 
C'est génial (5 coeurs donc ;) ) ca donne tout à fait l'effet que je voulais en étant bcp plus simple !!! Merci encore !


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

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

Reply

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 ;)


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed