Créer un bouton pour sélectionner une ligne d'un tableau créé à partir d'une BDD

Fermé
Augustin - 31 janv. 2021 à 22:57
jordane45 Messages postés 38162 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 mai 2024 - 2 févr. 2021 à 19:40
Bonjour,

Je suis à la recherche d'un bout de code. Je vous l'explique: J'ai créé un tableau avec des créneaux de disponibilités à partir d'une base de donnée. Je voudrais mettre un bouton permettant de sélectionner et d'afficher l'un des créneaux disponible

<form action="prisecreneau" method="post">
              <fieldset>
                <legend><h1>Formulaire de prise d'un créneau </h1></a></legend>
                <strong><h1><U>* Nos disponibilités</U></h1></strong><br><br>

                <div id="Créneaux"> 
                        
                            <center>         
                            <table  bordercolor="#000000" border="3" width="50%" onclick=" " >
                                <tr><th>Date et horraire du créneau</th><th>Séléctionner ce créneau</th></tr>
                                <?php
                                $ConnexionBD = mysqli_connect("localhost", "root", "root", "MaBasedeDonnée") ;
                                    if (mysqli_connect_errno()) {
                                        echo "Connection to the Data Base Server not Possible : " . mysqli_connect_error();
                                        return;
                                        } 
                                $Requete = "SELECT * from créneaux WHERE créneaux.adresseemail = '' "; 
                                $Resultat = mysqli_query($ConnexionBD, $Requete);           

                                    if (!$Resultat) {
                                           echo("Error : Invalid Query " . mysqli_error($ConnexionBD));
                                           return;                          
                                        } else {
                                        //echo " Tableau affiché";
                                        mysqli_close($ConnexionBD);
                                        }
                                    while ($data = mysqli_fetch_array ($Resultat)) {
                                        echo '<tr>';
                                        echo '<td>'.$data['créneau'];
                                        echo '<td><input type="Button" value="Séléctionner ce créneau";/></br></td>';
                                        echo '<tr>';
                                        }
                                ?>
                            </center><br>
                            </table>
                </div>



Je ne sais pas s'il faut rajouter une fonction pour le bouton : (echo '<td><input type="Button" value="Séléctionner ce créneau";/></br></td>';) ligne 30 de mon programme ou autre
Merci de votre aide ;)
A voir également:

4 réponses

jordane45 Messages postés 38162 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 mai 2024 4 658
1 févr. 2021 à 07:03
Bonjour
Ça dépend...

Sélectionner... Pour faire quoi ensuite ?

Tu dois juste le cocher ?
Où ça doit te rediriger ensuite vers une autre page ?
Ou ça doit exécuter un code ? Un code js ou un code php ?

1
jordane45 Messages postés 38162 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 mai 2024 4 658
2 févr. 2021 à 19:40
Déjà,

Prends l'habitude de placer le maximum de code php AVANT ton html...
<?php
// Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

//connexion à la bdd
$ConnexionBD = mysqli_connect("localhost", "root", "root", "HoublonHambulant") ;
if (mysqli_connect_errno()) {
  echo "Connection to the Data Base Server not Possible : " . mysqli_connect_error();
  exit;
} 

//Liste des crénaux
$Requete = "SELECT * from créneaux WHERE créneaux.adresseemail = '' "; 
// Perform a query, check for error
if (!mysqli_query($ConnexionBD, $Requete)) {
  echo("Error dans la requete SQL : " . mysqli_error($con));
}

mysqli_close($con);

?>
<!Doctype html>
<html>
....


Puis dans la partie HTML de ta page :
<form action="test2.php" method="post">
<div id="Creneaux"> 
  <center>         
    <table  bordercolor="#000000" border="3" width="50%" onclick=" " >
      <thead>
        <tr><th>Date et horraire du créneau</th></tr>
      </thead>
      <tbody>
        <?php
       
          while ($data = mysqli_fetch_array ($Resultat)) {
            echo '<tr>';
            echo '<td>'.$data['creneau'].'<input type="checkbox" id="creneau_'.$data['id'].'" name="interest" value="'.$data['creneau'].'">
                        <label for="creneau_'.$data['id'].'">Séléctionner ce créneau</label>';
        
            echo '</tr>';
          }
        ?>
        </tbody>
    </table>
  </center>
<center><input type="submit" value="Envoyer" /></center>
</div>
</form>



NB: Je vois que tu as mis des accents sur le nom de ta table..et dans le nom des champs de ta bdd ainsi qu'au niveau des ID de tes éléments html .... il ne faut pas !

NB2 : Si la personne ne doit pouvoir choisir qu'un seul créneau, au lieu de checkbox tu peux utiliser des radiobuttons

NB3 : Si la personne peut choisir plusieurs créneaux, dans ce cas, il faudra modifier l'attribut "name" de checkbox comme ceci
name="interest[]"


1
Augustin9078 Messages postés 2 Date d'inscription mardi 2 février 2021 Statut Membre Dernière intervention 2 février 2021
2 févr. 2021 à 09:06
Bonjour Jordane45,

C'est pour sélectionner l'un des créneau disponible dans un formulaire.
Je voudrais le cocher dans un premier temps pour avoir un effet visuel de la sélection du créneau. Et dans un second temps le créneau coché est sélectionné pour le formulaire.

Je te met mon code complet de cette page.

<head>
	<meta charset="utf-8">
	<title>Le houblon Ambulant</title>
    <LINK rel=stylesheet type="text/css" href="Webforme.css"> 
<style>
td {
    text-align: center;
    color:black;
}
th{
    color: black;
    background-color:grey;
}
table{
    position: relative;
    overflow:auto;  
    height        : 1px;
}
tr:hover {background-color:#f5f5f5;}
</style>

</head>

<body>
<div id="header">
	 <div class="onglets_html">
        <div class="onglets">
            <h1>Le Houblon Ambulant</h1> 
            <div class="onglet_n onglet"><a href="Accueil.php"><h1>Accueil</h1></a></div>
            <div class="onglet_n onglet"><a href="Nos_recettes.php"><h1>Nos recettes</h1></a></div>
            <div class="onglet_n onglet"><a href="La_brasserie.php"><h1>La brasserie</h1></a></div>
            <div class="onglet_y onglet"><a href="Boutique.php"><h1>Boutique</h1></a></div>
            <div class="onglet_n onglet"><a href="Contact.php"><h1>Contact</h1></a></div>
            <div class="onglet_n onglet"><a href="Nos_partenaires.php"><h1>Nos partenaires</h1></a></div>
            <div class="onglet_n onglet"><a href="Se_connecterS'inscrire.php"><h1>Se connecter / S'inscrire</h1></a></div>
        </div>   
    </div>
    <center><br><img src="images/formules.png" width="1200"></center>
</div>

<div id="contenu">
        
            <br>
            <form action="prisecreneau" method="post">
                <fieldset>
                <legend><h1>Formulaire de prise d'un créneau </h1></a></legend>
                <strong><h1><U>* Nos disponibilités</U></h1></strong><br><br>

                <div id="Créneaux"> 
                        
                            <center>         
                            <table  bordercolor="#000000" border="3" width="50%" onclick=" " >
                                <tr><th>Date et horraire du créneau</th><th>Séléctionner ce créneau</th></tr>
                                <?php
                                $ConnexionBD = mysqli_connect("localhost", "root", "root", "HoublonHambulant") ;
                                    if (mysqli_connect_errno()) {
                                        echo "Connection to the Data Base Server not Possible : " . mysqli_connect_error();
                                        return;
                                        } 
                                $Requete = "SELECT * from créneaux WHERE créneaux.adresseemail = '' "; 
                                $Resultat = mysqli_query($ConnexionBD, $Requete);           

                                    if (!$Resultat) {
                                           echo("Error : Invalid Query " . mysqli_error($ConnexionBD));
                                           return;                          
                                        } else {
                                        //echo " Tableau affiché";
                                        mysqli_close($ConnexionBD);
                                        }
                                    while ($data = mysqli_fetch_array ($Resultat)) {
                                        echo '<tr>';
                                        echo '<td>'.$data['créneau'];
                                        echo '<td><input type="Button" value="Séléctionner ce créneau";/></br></td>';
                                        echo '<tr>';
                                        }


                                ?>
                            </center><br>
                            </table>

                    


                </div>

                <br><br><br>
                <strong><h1><U>* Votre Demande</U></h1></strong><br><br>
                <center>
                <strong><h1>Votre type de recette:</h1></strong><br>
                <select size=6
                                name="type de recettes"
                                id="type de recettes"
                                required
                                onchange="gensel2();">
                                 <optgroup label="type de recettes" name="type de recettes">
                                        <OPTION value= "Blonde">Bière Blonde</option>
                                        <OPTION value= "Triple Rousse">Bière Triple Rousse</option>
                                        <OPTION value= "Brune">Bière Brune</option>
                                        <OPTION value= "Ambree">Bière Ambrée</option>
                                        <OPTION value= "Rouge">Bière Rouge</option>
                                </optgroup>
                            </select><br>

                <strong><h1>Votre quantité de bière souhaitée:</h1></strong><br>
                <select size=4
                                name="quantité"
                                id="quantité"
                                required
                                onchange="gensel2();">
                                 <optgroup label="quantité" name="quantité">
                                        <OPTION value= "12">12 L</option>
                                        <OPTION value= "6">  6 L</option>
                                        <OPTION value= "3">  3 L</option>
                                </optgroup>
                            </select><br>

                <strong><h1>Votre format de bouteille souhaité:</h1></strong><br>
                <select size=4
                                name="format" 
                                id="format"
                                required
                                onchange="gensel2();">
                                 <optgroup label="format" name="format">
                                        <OPTION value= "75">75 cL</option>
                                        <OPTION value= "33">33 cL</option>
                                        <OPTION value= "25">25 cL</option>
                                </optgroup>
                            </select><br>
                </center>
                <strong><h1><U>* Vos informations</U></h1></strong><br><br>
                <label for="adresse email" style="display:inline-block;width:350px;"><strong><h1>Votre adresse email:</h1></strong></label> <input type="varchar" name="email" size="40" required placeholder="mon_adresse@mondomaine.com" title="Merci de fournir votre adresse email"><br />
                <label for="tél" style="display:inline-block;width:350px;"><strong><h1>Votre numéro de téléphone:</h1></strong></label> <input type="varchar" name="tél" size="40" required placeholder="numéro de téléphone"><br />
                <label for="adresse"><strong><h1>Votre adresse postale:</h1></strong></label><br />
                <textarea cols="165" rows="3" name="adresse" id="adresse" required placeholder="Rue
Code postale
Ville"></textarea><br /><br />
                <center><input type="submit" value="Envoyer" /></center>
                </fieldset><br>
            </form>
</div>


</body>



Voici une capture d'écran de la page ( C'est la partie *Nos disponibilités)
0
jordane45 Messages postés 38162 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 mai 2024 4 658
2 févr. 2021 à 09:46

Je voudrais le cocher dans un premier temps pour avoir un effet visuel de la sélection du créneau.

Pourquoi ne mets tu pas simplement des checkbox ?

Après.. si tu veux absolument utiliser un bouton.. là, il faudra du javascript


Et dans un second temps le créneau coché est sélectionné pour le formulaire.

"sélectionné pour le formulaire" .. c'est à dire ? ... que tu puisses envoyer la valeur via le submit ? Si c'est une checkbox elle sera transmise dans ton form....
0
Augustin9078 Messages postés 2 Date d'inscription mardi 2 février 2021 Statut Membre Dernière intervention 2 février 2021
2 févr. 2021 à 13:49
Je viens d'essayer de mettre des checkbox le problème étant maintenant que la valeur de mon créneau (par exemple la ligne 2 étant "25/01/2021 : 13h-15h") n'est pas relié à la valeur de mon checkbox. Comment faire je m'y connais que très peut en codage et surtout en checkbox ??

<form action="test2.php" method="post">
<div id="Créneaux"> 
    <center>         
        <table  bordercolor="#000000" border="3" width="50%" onclick=" " >
            <tr><th>Date et horraire du créneau</th></tr>
            <?php
            $ConnexionBD = mysqli_connect("localhost", "root", "root", "HoublonHambulant") ;
                if (mysqli_connect_errno()) {
                    echo "Connection to the Data Base Server not Possible : " . mysqli_connect_error();
                    return;
                    } 
            $Requete = "SELECT * from créneaux WHERE créneaux.adresseemail = '' "; 
            $Resultat = mysqli_query($ConnexionBD, $Requete);           
                if (!$Resultat) {
                       echo("Error : Invalid Query " . mysqli_error($ConnexionBD));
                       return;                          
                    } else {
                    //echo " Tableau affiché";
                    mysqli_close($ConnexionBD);
                    }
                while ($data = mysqli_fetch_array ($Resultat)) {
                    echo '<tr>';
                    echo '<td>'.$data['créneau'].'<input type="checkbox" id="créneau" name="interest" value="$Requete">
                                <label for="créneau">Séléctionner ce créneau</label>';
                
                    echo '<tr>';
                    }
            ?>
            <br>
        </table>
    </center>
<center><input type="submit" value="Envoyer" /></center>
</div>
</form>



0