Se connecter avec
S'enregistrer | Connectez-vous
Votre question

Question

Tags :
allstar27 http://m.bestofmedia.com/sfp/design/usr/fr/avatars/23/e4/223512.jpg
Expert Programmation
Initié
| dans Programmation

Comment faire une barre de progression en PHP ?

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!
0
Vous devez être inscrit pour voter pour une question
  • Partagez
  • Etre averti des réponses
  • Ajouter aux favoris
Lassé par la pub ? Créez un compte
Ces contenus peuvent également vous intéresser
Solutions (8)
Meilleure solution
jerbe http://m.bestofmedia.com/sfp/design/usr/fr/avatars/4b/db/146889.gif
Apprenti
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;
  • Partagez
Autres solutions (7)
Trier par
allstar27 http://m.bestofmedia.com/sfp/design/usr/fr/avatars/23/e4/223512.jpg
Expert Programmation
Initié
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
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!
Anonymous http://m.bestofmedia.com/sfp/design/usr/fr/avatars/b2/10/19613.gif
Nouveau
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
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
quarty http://m.bestofmedia.com/sfp/design/usr/fr/avatars/1e/6f/124127.jpg
Débutant
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
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 
allstar27 http://m.bestofmedia.com/sfp/design/usr/fr/avatars/23/e4/223512.jpg
Expert Programmation
Initié
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
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?
jerbe http://m.bestofmedia.com/sfp/design/usr/fr/avatars/4b/db/146889.gif
Apprenti
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
rooo quand même : des fractions et des additions :p 
allstar27 http://m.bestofmedia.com/sfp/design/usr/fr/avatars/23/e4/223512.jpg
Expert Programmation
Initié
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
Et comment je calcule le pourcentage de total de vie par rapport a montant de la vie actuelle?
jerbe http://m.bestofmedia.com/sfp/design/usr/fr/avatars/4b/db/146889.gif
Apprenti
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
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.
Lassé par la pub ? Créez un compte
  • Contenus similaires :
non identifié
Vous n'êtes pas identifié. Se connecter ou S'enregistrer
Tom's guide dans le monde