Comment utiliser if else elseif etc... Débutante [Résolu/Fermé]

Signaler
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016
-
Messages postés
30358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020
-
Bonjour, je suis débutante dans tout ce qui est php html...
Je voudrais créé une condition si c'est comme ça que l'on dit, je voudrais que si mon nombre de kilomètre est égal ou inférieur à 150 dans la case tarif km s'affiche 0,23 et que si il est supérieur qu'il s'affiche 0,30 automatiquement dans la case . J'ai essayé tant bien que mal de chercher sur internet mais impossible de trouver ou alors de comprendre, alors j'ai décidé d'essayer de le faire moi même :') Sans réussite. Est ce que vous sauriez comment faire ? Ou corriger mon codage.. Svp aidez moi je suis désespérée :')

6 réponses

Messages postés
216
Date d'inscription
lundi 2 décembre 2013
Statut
Membre
Dernière intervention
10 octobre 2016
21
Bonjour,

Ce serait pas mal de voir ton code pour répondre au mieux mais voici une possibilité :

$tarifKm = ($nbrKm<=150) ? '0.23' : '0.30';


Cdlt.
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016

J'ai fais une modification les photos ne s'étaient pas publiés..
Messages postés
216
Date d'inscription
lundi 2 décembre 2013
Statut
Membre
Dernière intervention
10 octobre 2016
21
Alors avec ton code cela donne :

$tarif = ($Nb_Fiche<= 150) ? 0.23 : 0.30;


et le echo $tarif n'est à faire qu'à l'endroit où tu veux afficher le résultat.
si c'est directement à l'endroit où tu as fait ta condition alors le code est :
$tarif = ($Nb_Fiche<= 150) ? 0.23 : 0.30;
echo $tarif;


Par ailleurs, la condition que tu as écrit n'est pas fausse à proprement parler, juste un problème de syntaxe ... si tu veux écho directement dans la condition, il faut enlever les $tarif ==
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016

Est ce qu'on écrit une "formule" avant ce codage, du genre <?php
Messages postés
216
Date d'inscription
lundi 2 décembre 2013
Statut
Membre
Dernière intervention
10 octobre 2016
21 >
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016

oui toujours, avant et après du code php, il faut la balise ouvrante <?php et après la balise fermante ?>
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016

J'ai écrit ton codage et une fois ma page actualisé ceci est apparu :
Messages postés
216
Date d'inscription
lundi 2 décembre 2013
Statut
Membre
Dernière intervention
10 octobre 2016
21
Pas pratique le screen à l'envers ...

Cependant cette erreur dit que la variable $Nb_Fiche n'existe pas ... si elle n'est pas set avant la condition ça ne peut pas fonctionner ... il me faudrait le code complet de la page pour t'aider.

De plus par convention, on ne met jamais de majuscule pour le premier caractère d'une variable en php .. c'est utilisé pour les variables globales mais bon ce n'est que par convention.

tu devrais renommer ta variable en $nbFiche.
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016

Pas de soucis je t'envoie ça
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016

Voilà

Messages postés
216
Date d'inscription
lundi 2 décembre 2013
Statut
Membre
Dernière intervention
10 octobre 2016
21
Bonjour,

Alors c'est un peu compliqué, ton souci en réalité vient du fait que ta variable n'est configuré nulle part. Je suppose que tu crois qu'elle l'est car tu as mis name="nbFiche" mais ça ne suffit pas.

Ce que je ne comprends pas vraiment, ton formulaire renvoi vers la page Fiche_Saisie.php, alors que ton formulaire est sur la page Fiche_deplacement_3.php, tu ne pourras jamais de cette manière récupérer la valeur de nbFiche ... ou alors sur Fiche_Saisie.php mais pas sur le script que tu as posté.

La question, c'est qu'est ce que tu veux faire de cette valeur 0.23 ou 0.30 ? parce que en fonction de ta réponse, c'est peut-être du coté de javascript que se trouvera la solution.

cdlt.
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016
>
Messages postés
216
Date d'inscription
lundi 2 décembre 2013
Statut
Membre
Dernière intervention
10 octobre 2016

Finalement le problème est réglé, maintenant j'aimerai enfaite que quand j'appuie sur le bouton calculer sa me calcul le tarif fois le nombre de kilomètre et que le résultat s'affiche juste en dessous
Messages postés
30358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020
3 031 >
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016

1 - Nous t'aiderons lorsque tu mettra ton code DIRECTEMENT sur le forum !!!!
2 - Nouvelle question = NOUVELLE DISCUSSION . (de préférence.. on ne pose qu' UNE SEULE question par discussion... histoire qu'on s'y retrouve plus facilement...)

Merci.
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016
>
Messages postés
30358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020

Dsl je ne sais pas vraiment comment marche un forum..




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Ma page</title>
</head>
<body>
<h1 style="color: navy;"><center>Frais de déplacement</center></h1>

</body>
</html>

</head>

<body>


<hr />
<form method="post" action="Fiche_Saisie.php">
<center><p><u>Date du déplacement</u>   <input type="text" name="date"> <samp><i>JJ/MM/AAAA</i></p></center>
<center><p><u>Tarif km</u> :  <input type='radio' name=monBoutonRadio value='valeur6'>0.52 <samp><i>POUR ESSENCE</i></p></center>
<center><input type='radio' name=monBoutonRadio value='valeur5'>0.3 <samp><i>POUR GAZOLE</i></p></center></p></center>
<center><p><u>Nombre km</u> :  <input type="text" name="nbFiche">  Km</p></center>
<center><p><u>Modèle véhicule</u> :  <input type="text" name="ModVehicu"></p></center>
<center><p><u>Type Carburant</u> : 
<input type='radio' name=monBoutonRadio2 value='valeur1'>ESSENCE<p>
<center><input type='radio' name=monBoutonRadio2 value='valeur2'>GAZOLE</p></center>



<center><input type ="reset" value="Effacer"></center><p>

<center><input type ="submit" value="Calculer" name="B1"></center>



<br><input type="text" name="tarif" id="tarif" READONLY> €<br>
<br><input type="text" onchange="calcul()" name="nbFiche" id="nbFiche"> KM<br>
<span id="afficher_calcul"></span>
<script>
function calcul() {
var tarif_input = document.getElementById('tarif'),nbFiche = document.getElementById('nbFiche'), tarif=0, afficher = document.getElementById('afficher_calcul'); // déclaration des variables

if(nbFiche.value<=150) { tarif = 0.23; } else { tarif = 0.30 } // Affectation du tarif en fonction des km
tarif_input.value = tarif // affichage du tarif
afficher.innerHTML = Math.round(tarif * parseInt(nbFiche.value)*100)/100; //calcul et affichage du tarif

}
</script>





</form>
</body>
</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Frais de déplacement</title>
<style type="text/css">
body {
color: purple;
background-color: #FFE4C4 }
</style>
</head>

<body>
Messages postés
30358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020
3 031
Bonjour,

Ici ... on colle le code directement sur le forum .
On ne met pas des captures écran !!!!!

**** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.
Messages postés
216
Date d'inscription
lundi 2 décembre 2013
Statut
Membre
Dernière intervention
10 octobre 2016
21
Voici un code dont tu peux t'inspirer, j'ai essayer de reprendre basiquement ton besoin ..

<input type="text" name="tarif" id="tarif" READONLY> €<br>
<input type="text" onchange="calcul()" name="nbFiche" id="nbFiche"> KM<br>
<span id="afficher_calcul"></span>
<script>
function calcul() {
	var tarif_input = document.getElementById('tarif'),nbFiche = document.getElementById('nbFiche'), tarif=0, afficher = document.getElementById('afficher_calcul'); // déclaration des variables
	
	if(nbFiche.value<=150) { tarif = 0.23;  } else { tarif = 0.30 } // Affectation du tarif en fonction des km
	tarif_input.value = tarif // affichage du tarif
	afficher.innerHTML = Math.round(tarif * parseInt(nbFiche.value)*100)/100; //calcul et affichage du tarif
	
}
</script>
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016

mais comment faire pour que tout ca soit relié au bonton calculer ?
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016

bon je me re explique dans mes propos, je me suis trompé !

enfaite je voudrais que quand je coche la case d'option ESSENCE l'autre case d'option 0.52 se coche automatiquement et que pour l'inverse pour GAZOLE ce soit la case 0.3 qui se coche automatiquement, premiere chose.
puis ensuite je voudrais que quand je clique sur le bouton calculer, le tarif entre le prix de de l'essence (0.52) et le prix du gazole (0.3) se multiplie avec le nombre de kilometre que l'utilisateur a fais et que le resultat ce mette juste en dessous, voila..
merci beaucoup si vous réussissez a m'aider..

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Ma page</title>
</head>
<body>
<h1 style="color: navy;"><center>Frais de déplacement</center></h1>

</body>
</html>

</head>

<body>


<hr />
<form method="post" action="Fiche_Saisie.php">
<center><p><u>Date du déplacement</u>   <input type="text" name="date"> <samp><i>JJ/MM/AAAA</i></p></center>
<center><p><u>Tarif km</u> :  <input type='radio' name=monBoutonRadio value='valeur6'>0.52 <samp><i>POUR ESSENCE</i></p></center>
<center><input type='radio' name=monBoutonRadio value='valeur5'>0.3 <samp><i>POUR GAZOLE</i></p></center></p></center>
<center><p><u>Nombre km</u> :  <input type="text" name="nbFiche">  Km</p></center>
<center><p><u>Modèle véhicule</u> :  <input type="text" name="ModVehicu"></p></center>
<center><p><u>Type Carburant</u> : 
<input type='radio' name=monBoutonRadio2 value='valeur1'>ESSENCE<p>
<center><input type='radio' name=monBoutonRadio2 value='valeur2'>GAZOLE</p></center>



<center><input type ="reset" value="Effacer"></center><p>

<center><input type ="submit" value="Calculer" onClick="calcul()" name="B1"></center>







</form>
</body>
</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Frais de déplacement</title>
<style type="text/css">
body {
color: purple;
background-color: #FFE4C4 }
</style>
</head>

<body>
Messages postés
30358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020
3 031
Où sont les balises de code ??
Merci de le mettre pour rendre ton code plus lisible.

Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016
>
Messages postés
30358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020

comme ca ?
Messages postés
13
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
29 avril 2016
>
Messages postés
30358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>Ma page</title>
  </head>
  <body>
    <h1 style="color: navy;"><center>Frais de déplacement</center></h1>
   
  </body>
</html>

</head>

<body>


	<hr />
		<form method="post" action="Fiche_Saisie.php">
		<center><p><u>Date du déplacement</u>   <input type="text" name="date"> <samp><i>JJ/MM/AAAA</i></p></center>
			<center><p><u>Tarif km</u> :  <input type='radio' name=monBoutonRadio value='valeur6'>0.52  <samp><i>POUR ESSENCE</i></p></center>
			<center><input type='radio' name=monBoutonRadio value='valeur5'>0.3  <samp><i>POUR GAZOLE</i></p></center></p></center>
			<center><p><u>Nombre km</u> :  <input type="text" name="nbFiche">  Km</p></center>
			<center><p><u>Modèle véhicule</u> :  <input type="text" name="ModVehicu"></p></center>
			<center><p><u>Type Carburant</u> :  
			<input type='radio' name=monBoutonRadio2 value='valeur1'>ESSENCE<p>
			<center><input type='radio' name=monBoutonRadio2 value='valeur2'>GAZOLE</p></center>
			
		
			
			<center><input type ="reset" value="Effacer"></center><p>
			
			<center><input type ="submit" value="Calculer" onClick="calcul()" name="B1"></center>
		
			


		
			
			
		</form>		
</body>
</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
  <title>Frais de déplacement</title>
  <style type="text/css">
  body {
    color: purple;
    background-color: #FFE4C4 }
  </style>
</head>

<body>



Messages postés
216
Date d'inscription
lundi 2 décembre 2013
Statut
Membre
Dernière intervention
10 octobre 2016
21
Bonjour,

Oui comme ça, c'est beaucoup mieux pour aider ^^
Messages postés
30358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2020
3 031

je voudrais que quand je coche la case d'option ESSENCE l'autre case d'option 0.52 se coche automatiquement et que pour l'inverse pour GAZOLE ce soit la case 0.3 qui se coche automatiquement, premiere chose.
puis ensuite je voudrais que quand je clique sur le bouton calculer, le tarif entre le prix de de l'essence (0.52) et le prix du gazole (0.3) se multiplie avec le nombre de kilometre que l'utilisateur a fais et que le resultat ce mette juste en dessous

Donc en fait... tu veux que ça se fasse au moment où tu cliques sur les différents éléments ( les cases à cocher) ?
Et donc... sans avoir à recharger la page ..... ?
Bref .. tu ne pourras faire ça qu'en JAVASCRIPT ...et non en PHP !




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
   <title>Ma page</title>
   <meta charset='utf8'>
  </head>
 <body>
  <h1 style="color: navy;"><center>Frais de déplacement</center></h1>
	<hr />
	<form>
		
    <center><u>Date du déplacement</u>   
     <input type="text" name="date"> <samp><i>JJ/MM/AAAA</i>
    </center>
		
    <center><u>Nombre km</u> :  
      <input type="text" name="nbFiche" id='nbKm'>  Km</center>
		
    <center><u>Modèle véhicule</u> :  
      <input type="text" name="ModVehicu"></center>
		
    <center><u>Type Carburant</u> :  
		  <input type='radio' name=monBoutonRadio2 value='valeur1' onclick="select_tarif('ess');">ESSENCE
		  <input type='radio' name=monBoutonRadio2 value='valeur2' onclick="select_tarif('gaz');">GAZOLE
    </center>
		   
     <center><u>Tarif km</u> :  
      <input type='radio' name=monBoutonRadio value='0.52' id='ess'>0.52  <samp><i>POUR ESSENCE</i>
      <input type='radio' name=monBoutonRadio value='0.3' id='gaz'>0.3 <samp><i>POUR GAZOLE</i></center>
    </center>
     <center><input type ="reset" value="Effacer"><input type ="button" value="Calculer" onclick="calcul()"></center>		
	</form>		
  
  <center>Total :<input type="text" id="resultat" readonly value=''></center>
  
</body>
</html>

<script type="text/javascript">
function select_tarif(id){
  // on coche la case tarif correspondante
  var elm = document.getElementById(id);
      elm.checked = true;
}

function calcul(){
  //Nombre de km
   var nbKm = document.getElementById('nbKm').value;

  //on regarde quelle case est cochée et on en prend sa valeur
   var ess =  document.getElementById('ess');
   var gaz =  document.getElementById('gaz');
   var tarif = ess.checked == true ? ess.value : gaz.value;

  //calcul du montant :
   var total = tarif * nbKm;
  
  //on affiche dans l'input "résultat" :
   var resultat = document.getElementById('resultat');
       resultat.value = total;
  
}

</script>



Comme tu peux le voir ... aucun besoin de PHP ici !