Résolu Comment faire une barre de progression en PHP ?

Solutions (8)
Tags :
  • Php
  • Programmation
|
Salut,

J'aurais besoin d'une petite aide pour réaliser une barre de progression, je m'explique...

imaginons une barre de vie avec comme vie maximum 100 si la personne à 100 de vie la barre est remplie si elle en a 50 la barre est remplie a moitié si elle en a 5 c'est rempli un petit peu ainsi de suite...

j'ai comme info la limite et le niveau de vie que je récupère via une $_SESSION merci de m'aider!
Contenus similaires
Meilleure solution
partage
|
Presque: *100/2000 = /20, c'est plus simple.

Mais si je puis me permettre, tu devrait utiliser des pixels au lieu des pourcentage.
Exemple d'une fonction pour un barre de 300px de large que j'avais faite :

(je l'ai modifié pour toi)

  1. function calcul_tbarre($level)
  2. {
  3. $level++;
  4. //on repasse sur une base de 100
  5. $pourcent = intval($level / 20);
  6. //on calcul les tailles
  7. $taille_plein = $pourcent * 3;
  8. $taille_vide = 300 - $taille_plein;
  9.  
  10. $tp = "style=\"width:$taille_plein" . "px\"";
  11. $tv = "style=\"width:$taille_vide" . "px\"";
  12.  
  13. return array($pourcent, $tp, $tv);
  14. }
  15.  
  16. //ensuite on appelle la fonction et on affiche :
  17. $result = calcul_tbarre($vie);
  18. echo "Vie : <img src=\"img/barre_bout.gif\" alt=\"debut\"><img src=\"img/barre_pleine.gif\" alt=\"plein\" $result[1]><img src=\"img/barre_vide.gif\" alt=\"vide\" $result[2]><img src=\"img/barre_bout.gif\" alt=\"fin\"> $result[0] %";


Ca va t'afficher une barre de 300px et avec le pourcentage au bout.
Si tu veux une barre de 500px par exemple, tu change ça :

$taille_plein = $pourcent * 5;
$taille_vide = 500 - $taille_plein;
  • Commenter cette solution |
Score
0
òh
òi
|
J'ai fais comme ça:

  1. <?php
  2. $calcul = $_SESSION['res_vie'] * 100 / $_SESSION['taille_vie'];
  3. ?>
  4. <div id="barre_vie">
  5. <img src="../images/back_vie.jpg" width="<?php echo "$calcul"; ?>%" border="0" alt="" height="14px" />
  6. <p id="info_vie">
  7. <?php
  8. echo "".$_SESSION['res_vie']."|".$_SESSION['taille_vie']."";
  9. ?>
  10. </p>
  11. </div>
  12. </p>


Ca fonctionne nikel merci à vous!
  • Commenter cette réponse |
Score
0
òh
òi
Anonyme |
faut se servir de la règle de trois connue par tous nos ministres :o 
2000 -> 100
253 -> x => x=253*100/2000=12.65
  • Commenter cette réponse |
Score
0
òh
òi
|
Quand j'ai du mal je me sert de la logique.

On sait que 1000 = 50% de 2000 et que 500 = 25%. Maintenant on fait 2000/1000=2
2000/500=4

donc ce n'est pas ca :D 
  • Commenter cette réponse |
Score
0
òh
òi
|
Bon le total est égal à 100%

maintenant imaginons que j'ai 25 vie sur 100...
Cela fais 25% donc width="25%" mais si le total n'est pas sur 100 je vois pas comment je dois faire, je suis assez mauvais en math!

Bon je vais essayer de résonner...

Admettons que j'ai 253 de vie sur 2000 maximum....
- 2000 est égale à 100%
- 2000/253=7,905... donc la résultat serais le width?
  • Commenter cette réponse |
Score
0
òh
òi
|
rooo quand même : des fractions et des additions :p 
  • Commenter cette réponse |
Score
0
òh
òi
|
Et comment je calcule le pourcentage de total de vie par rapport a montant de la vie actuelle?
  • Commenter cette réponse |
Score
0
òh
òi
|
il te faut 4 images :
le début de la barre (pour faire beau)
la barre remplie
la barre vide
la fin de la barre (pour faire beau)

ou sinon tu peux aussi faire juste avec les 2 du milieu
Ensuite tu change juste le width des images de la barre pleine et de la barre vide pour faire un total de 100%.

J'ai fait ça sur mon site, ça marche très bien.
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS