Imc (ou bmi en anglais) et calcule de votre poid idéal

Soyez le premier à donner votre avis sur cette source.

Vue 6 288 fois - Téléchargée 438 fois

Description

ce calcul très simple, il est fait à partir de deux formules :
  • IMC : Poid(en Kg) / Taille(en cm) * Taille(en cm)
  • Le poid idéal : (Taille(en cm) - 100) - (Taille(en cm) - 150) / ( 4 (pour les hommes) 2.5 (pour les femmes) )


Voila ! Amusez-vous bien !

Source / Exemple :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="FR-fr" dir="ltr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Calcule de l'IMC et du poid ideal</title>
</head>
<style type="text/css">
#resultat{margin:2% 60% 3% 2%;font-size:90%;font-weight:bold;color:#3E3E3E;text-align:center;}
fieldset{width:20%;}
fieldset legend{font-size:110%;}
select, option{padding:1px 4px;width:90px;text-align:center;}
</style>
<body>
<?php
$taille='';$poid='';$sexe='F';
if(isset($_POST['taille'])){
	$taille=$_POST['taille'];
	$poid=$_POST['poid'];
	$sexe=$_POST['sexe'];
	
	$imc = ($poid*10000) / ($taille*$taille);
	
	if($imc < 16){$resultimc = "maigreur extrême";}
	else if($imc < 18.5){$resultimc = "maigreur";}
	else if($imc < 24.9){$resultimc = "poid normal";}
	else if($imc < 29.9){$resultimc = "embonpoint";}
	else if($imc < 34.9){$resultimc = "obésité léger";}
	else if($imc < 39.9){$resultimc = "obésité";}
	else if($imc > 40){$resultimc = "obésité morbide";}
	
	$x = $sexe=='H' ? 4 : 2.5;
	$poidideal = ($taille-100) - (($taille-150)/$x);
	
	$resultat = 'Votre imc est de '.$imc.'<br>Vous êtes en '.$resultimc.' ; votre poid idéal serait de '.$poidideal.' Kg';
	
	echo '<div id="resultat">'.$resultat.'</div>';}
?>
<form name="calculePoid" method="post" action="imcpoid.php">
<label for="poid">Poid (en Kg)</label>
<select name="poid">
<?php
	for($a=30;$a<150;$a++){
	$s = $poid==$a ? 'selected' : '';
	echo '<option value="'.$a.'" label="poid" '.$s.'>'.$a.'</option>';
	}
?>
</select>
<label for="taille">Taille (en cm)</label>
<select name="taille">
<?php
	for($a=120;$a<200;$a++){
	$s = $taille==$a ? 'selected' : '';
	echo '<option value="'.$a.'" label="taille" '.$s.'>'.$a.'</option>';
	}
?>
</select>
<br />
<?php
$s = $sexe=='H' ? 'h' : 'f';
?>
<fieldset><legend>sexe</legend>
<input type="radio" value="H" name="sexe" <?php echo $s=='h' ? 'checked' : '';?>>
<label for="sexe">Homme</label>
<input type="radio" value="F" name="sexe" <?php echo $s=='f' ? 'checked' : '';?>>
<label for="sexe">Femme</label>
</fieldset>
<input type="submit" value="Calculer" name="submit">
</form>
</body>
</html>

Conclusion :


Formulaire au complet, et très intéressant si on veut s'initie au style des formulaire

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
122
Date d'inscription
vendredi 31 mars 2006
Statut
Membre
Dernière intervention
30 décembre 2010

Bonjour,
Préférez aussi l'utilisation de fonctions (ou de classes dans des cas plus complexes) afin d'avoir un code plus générique et réutilisable par d'autres développeurs. Par exemple :

function getImc($poids, $taille) {
return ($poid*10000) / ($taille*$taille);
}

etc....
Messages postés
8
Date d'inscription
samedi 25 août 2007
Statut
Membre
Dernière intervention
2 août 2010

Bonjour,
je ne suis pas du tout un connaisseur en codage php
mai il y a un souci de compatibilité entre Mozilla et IE
ou une erreur dans le code...
sa fonctionne très bien sous Mozilla mai sous IE sa n'affiche pas les poids ni les tailles
dans les champs ou on choisi sa taille et son poids... mai juste poids et taille !
donc difficile de savoir ce que l'on choisi !
Messages postés
1
Date d'inscription
dimanche 11 juillet 2010
Statut
Membre
Dernière intervention
30 juillet 2010

**Juste une question : pourquoi le faire en PHP et pas en Javascript ?**

Parce qu'on est dans un site où l'on mets du code php à la disposition des utilisateurs ;)
Messages postés
11
Date d'inscription
vendredi 28 septembre 2007
Statut
Membre
Dernière intervention
14 avril 2011

Juste une question : pourquoi le faire en PHP et pas en Javascript ?
Messages postés
38
Date d'inscription
jeudi 18 mai 2006
Statut
Membre
Dernière intervention
17 février 2009

une boucle est bien plus 'propre' que une serie de if/else if.
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.