PHP/BD

Bonjour, j'ai crée une table Salle contenant id_salle et nom_salle, l'id est en auto incrément et le nom des salles (int) est rempli à la main. J'aimerais établir un petit menu déroulant :

--choisissez une salle----

salle 1
salle 2
....

Avec comme contenu les différents champs de ma table salle : (salle 1, salle 2 ...) et je ne sais vraiment pas comment faire. J'ai essayer de regarder sur internet mais je suis un peu perdu ..

2 réponses

  1. Bonjour,

    voici un bout de code ( utilisant pdo, voir => https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql )

    <html>
    ....
    
    <select name="salle">
    <?php
    try
    {
    	// On se connecte à MySQL
    	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    }
    catch(Exception $e)
    {
    	// En cas d'erreur, on affiche un message et on arrête tout
            die('Erreur : '.$e->getMessage());
    }
    
    // Si tout va bien, on peut continuer
    
    // On récupère tout le contenu de la table jeux_video
    $reponse = $bdd->query('SELECT * FROM salle');
    
    while ($donnees = $reponse->fetch())
    {
    echo "<option value=" .$donnees['salle']. ">" .$donnees['salle']. "</option>";
    }
    
    $reponse->closeCursor(); // Termine le traitement de la requête
    
    ?>
    
    </select>
    
    ....
    </html>


    A modifier bien sûr selon tes besoins
    1. Bonjour,

      Avec un bouton comme ceci dans mon html :

      <form action="Test.php" method="post" id=test>
      <select name="inv_salle" id="inv_salle">
      <option value='-1'>----Choisissez une salle -----</option></select> </form>
      <br></br>

      et un fichier Test.php suivant :

      <?php

      include 'fonctions.connect.php';

      <select name="salle">

      $reponse = $bdd->query('SELECT * FROM Salle');

      while ($donnees = $reponse->fetch())
      {
      echo "<option value=" .$donnees['salle']. ">" .$donnees['salle']. "</option>";
      }

      $reponse->closeCursor();

      </select>

      ?>

      ça ne marche pas. Sachant que la fonction connection php marche parfaitement.
      1. tu ne dois faire qu'un seul fichier (ex choix.php) avec ta page et y intégrer le code donné plus haut.

        quel est le contenu de ta fonction connect? ( n'oublies pas de masquer les champs bien sûr )
      2. <?php
        $connect = mysql_connect('localhost','root','******') or die ("erreur de connexion");
        mysql_select_db('Inventaire_SaintEx',$connect) or die ("erreur de connexion base");
        ?>
      3. fais ceci:

        fonctions.connect.php
        <?php
        try
        {
        	// On se connecte à MySQL
        	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'MOT DE PASSE');
        }
        catch(Exception $e)
        {
        	// En cas d'erreur, on affiche un message et on arrête tout
                die('Erreur : '.$e->getMessage());
        }
        ?>


        test.php
        <?php
        include ('fonctions.connect.php');
        
        // On récupère tout le contenu de la table salle
        $reponse = $bdd->query('SELECT * FROM salle');
        
        while ($donnees = $reponse->fetch())
        {
        echo "<option value=" .$donnees['salle']. ">" .$donnees['salle']. "</option>";
        }
        
        $reponse->closeCursor(); // Termine le traitement de la requête
        
        ?>
        


        et enfin le formulaire (ATTENTION, renommes la page avec une extension php sinon ça ne fonctionnera pas)

        <html>
        .....
        
        <form action="Test.php" method="post" id=test>
                    <select name="inv_salle" id="inv_salle">
                                <option value='-1'>----Choisissez une salle -----</option>
                                <?php include('test.php'); ?>
                    </select>
         </form> 
         <br></br>
        
        .....
        </html>
        
        
      4. Mais si je la renomme en php, elle ne saffiche plus sur mon site en tant que ajouter.html et il ne la trouve plus
      5. tu pourras y accéder via ajouter.php, autrement, le php ne s'exécutera pas