Besoin d'aide sur un Formulaire de payement

Oxley12 Messages postés 10 Statut Membre -  
Oxley12 Messages postés 10 Statut Membre -
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

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

    0
    1. Oxley12 Messages postés 10 Statut Membre
       
      en html et php
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > Oxley12 Messages postés 10 Statut Membre
         
        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
      2. Oxley12 Messages postés 10 Statut Membre > jordane45 Messages postés 30427 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
  2. Oxley12 Messages postés 10 Statut Membre
     
    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
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
  3. Oxley12 Messages postés 10 Statut Membre
     
    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
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       

      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
      1. Oxley12 Messages postés 10 Statut Membre > jordane45 Messages postés 30427 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
  4. Oxley12 Messages postés 10 Statut Membre
     
    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