Besoin d'aide sur un Formulaire de payement

Oxley12 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
Oxley12 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, Je suis entrain de faire un formulaire pour valider des payements. Le truc est que la page affiche les éléments a payer et devant chaque élément se trouve une case à cocher si l'on veut payer. En fait l'utilisateur a le choix de choisir ce qu'il veut payer. Donc je voudrais pouvoir insérer un label Montant qui affiche immédiatement le montant à payer a chaque fois que l'utilisateur coche une case. J'ai besoin d'aide svp

4 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
Bonjour
Dans quel langage de programmation ?

0
Oxley12 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
en html et php
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753 > Oxley12 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Alors, si tu veux que ça se fasse au moment de coucher la case, il faudra utiliser du JavaScript..
Et si la formation du prix et présente en base de données et que tu ne l'as pas encore à serrer dans ton formulaire il faudra aller rechercher ce prix en AJAX..
Ou alors que tu mettes le prix des produits border data attribute sur chaque case à cocher par exemple...
Pour l'instant, vu que tu ne nous as pas montré ce que tu avais commencé à coder il nous sera impossible de t'en dire plus.

Nb: pour poster ton code sur le forum, tu devras utiliser les balises de code.
Explications à lire entièrement disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

.
0
Oxley12 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Je vois déjà. Je me doutais bien que du JavaScript serait impliqué. J'enverrai mon code d'ici peu. Merci pour votre aide
0
Oxley12 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Dsl pour ce retard mais j'ai eu quelques contre temps. Voila un peu le code. J'espère bien que vous vous retrouverez
<!DOCTYPE HTML>
<html> 
<head>
	<title> Payement </title>
	<meta charset="utf-8">
	<link rel="stylesheet" type="text/css" href="validation.css">
</head>
   <body> 
     <?php
            $Num = $_GET['Numero'];

            $serveur = "localhost";
            $login = "root";
            $pass ="";
          try{
                  $connexion = new PDO("mysql:host=$serveur;dbname=etat de deliberation",$login, $pass);
                  $connexion ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

          $jointure = "
          SELECT  ecu.LibECU
          FROM etudiant
          INNER JOIN moyenneue
          ON etudiant.NumMat = moyenneue.NumMat
          INNER JOIN ue
          ON moyenneue.CdeUE = ue.CdeUE
          INNER JOIN ecu
          ON ue.CdeUE = ecu.CdeUE
          INNER JOIN moyenneecu
          ON ecu.CdeECU = moyenneecu.CdeECU
          WHERE etudiant.NumMat= $Num
          AND MoyUE < 10
          AND MoyECU < 10 
          GROUP BY ecu.CdeECU";
        
          $req=$connexion-> prepare($jointure);
          $req-> execute();
          $resultat=$req->fetchall();

          }

                   catch(PDOException $e){
        echo 'Echec de la connexion:' .$e->getMessage();
      }
    
    ?>

   		<form method="post" action="traitement.php">
   			<h1>Liste des matières à reprendre</h1>
   			<div class="div-t">
   			<label id="NumMat" >N° matricule </label>
   			<input type="text" id="NumMat" name="NumMat" value="<?php echo $Num ?>">

   			<label id="Nom" >Nom </label>
   			<textarea id="nom" name="Nom" value="<?php 
           $requete=$connexion->prepare( "SELECT NomEtu, PrenEtu
            FROM etudiant
            WHERE NumMat= $Num");
            $requete-> execute();
            $result=$requete->fetchall();
              echo "$result"

        ?>"> </textarea> 

      </div>

       <fieldset>
    <table>
      <thead>
        <tr>
          <td>Nom ECU </td>
          <td> Reprendre </td> 
        </tr>
      </thead>
      <tbody>
        <?php
          foreach ($resultat as $donnees)
        {
        ?>
        <tr>
          <td> <?php echo $donnees['LibECU']; ?> </td>
          <td> <input type= "checkbox" name="case" />
        </tr>
        <?php
        }
        ?>
      </tbody>
    </fieldset>
      <div>
      <label for="Mont">Montant: <input type="number" id="Mont" name="Mont" value=""> </label>
      </div>
   </body>
</html>


J'ai toujours pas pu faire ce que je voulais
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
En même temps.. je ne vois toujours pas de javascript dans ton code ....

et puis; il serait bien de mettre le prix dans l'attribut VALUE de tes checkbox si tu veux ensuite pouvoir t'en servir ...
0
Oxley12 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
En fait je m'y connais pas du tout en Js. Raison de ma demande d'aide ici.

Etant donné que le checkbox est dans un foreach ça marchera ? Et le prix est unique pour n'importe quel élément. A chaque élément coché l'attribut value du label Montant change en fonction de ce prix
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 

Etant donné que le checkbox est dans un foreach ça marchera

Oui

Et le prix est unique pour n'importe quel élément. A chaque élément coché l'attribut value du label Montant change en fonction de ce prix

Un label n'a pas d'attribut VALUE.
Mais les checkbox en ont un ... qu'il faut mettre .. ET renseigner !

En fait je m'y connais pas du tout en Js. Raison de ma demande d'aide ici

Oui.. ok .. on veut bien t'aider.... mais pas le faire à ta place.
Donc, si tu n'as aucune connaissance en JS... ben...il faut commencer par apprendre...

Pour détecter le click
https://developer.mozilla.org/fr/docs/Web/API/Element/click_event

Puis :
https://www.google.com/search?q=javascript+get+value+of+checked+checkbox

https://developer.mozilla.org/fr/docs/Web/API/Document/getElementsByClassName
0
Oxley12 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Bonsoir, suis de retour. J'espère que vous vous portez bien. J'ai suivie les cours et j'ai pu réussir à écrire un petit truc mais ce n'es pas encore parfait. J'aurais besoin de quelques conseils si possibles.
  <script type="text/javascript">
      var p = document.getElementsByClassName('check');
       p.addEventListener('click', changermontant);
      function changermontant(){
      var p1= document.getElementsByClassName('check').value;
     document.getElementById('Mont').value = document.getElementById('Mont').value + p1;
     }
    </script>


A ce niveau j'ai deux problèmes. En premier la valeur de mon checkbox est considéré comme un string car les valeurs s'ajoutent l'un à la suite de l'autre au lieu de s'additionner.
Mon second problème est au niveau du click. Lorsque je déclique un checkbox le programme le considère comme un click et la fonction est exécuté. Donc en clair je ne peux pas cliquer puis changer d'avis et cliquer à nouveau pour décocher la case
0
Oxley12 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Un label n'a pas d'attribut VALUE.
Mais les checkbox en ont un ... qu'il faut mettre .. ET renseigner !

Au faite voulais parler du input type associé au label.

Oui.. ok .. on veut bien t'aider.... mais pas le faire à ta place.
Donc, si tu n'as aucune connaissance en JS... ben...il faut commencer par apprendre...

Oui je comprends . Et j'ai déjà commencer à suivre des vidéos de cours sur le JS. C'est juste le temps qui me fait défaut.

Merci beaucoup pour votre aide.
0