Menu déroulant PHP sur base de donnée
Résolu
Arthofixion02
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Arthofixion02 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Arthofixion02 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pour un projet en informatique, j'ai une base de donnée sur MySQL créée sur UwAMP. Ensuite nous devons créé un "mini" site pour ajouter des données aux différentes tables. Pour mon projet j'ai besoin d'ajouter un alcool qui appartient à un type (Vodka, Whisky...) et lorsque j'ajoute une boisson j'aimerai créé un menu déroulant qui affiche le nom du type. Jusque là le menu déroulant s'affiche mais quand j'ajoute le soft impossible j'ai une erreur. J'envoie en pièce jointe des photos pour aider la compréhension. Merci d'avance pour votre aide.


Code du menu pour ajouter l'alcool
Code qui fait appelle à la table ajouter_alcool:
Pour un projet en informatique, j'ai une base de donnée sur MySQL créée sur UwAMP. Ensuite nous devons créé un "mini" site pour ajouter des données aux différentes tables. Pour mon projet j'ai besoin d'ajouter un alcool qui appartient à un type (Vodka, Whisky...) et lorsque j'ajoute une boisson j'aimerai créé un menu déroulant qui affiche le nom du type. Jusque là le menu déroulant s'affiche mais quand j'ajoute le soft impossible j'ai une erreur. J'envoie en pièce jointe des photos pour aider la compréhension. Merci d'avance pour votre aide.



Code du menu pour ajouter l'alcool
<!DOCTYPE html>
<html>
<head>
<meta charset="utf8_general_ci">
</head>
<body>
<h1>Ajouter un alcool</h1>
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "le bistrot";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
<form method="post" action="ajouter_alcool.php">
<label>Nom</label> <input type="text" name="nom_alcool"><br>
<label>Degré</label> <input type="number" name="degre"><br>
<label>Provenance</label> <input type="text" name="provenance"><br>
<label>Type</label>
<select name="nom_type">
<?php
$sql = "SELECT id_type, nom_type FROM type";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<option value=" . $row["id_type"] . ">" . $row["nom_type"] . "</option><br>";
}
} else {
echo "0 results";
}
?>
</select><br>
<br><br>
<input type="submit" value="Ajouter">
</form>
</body>
</html>
Code qui fait appelle à la table ajouter_alcool:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf8_general_ci">
</head>
<body>
<h1>Ajouter un alcool</h1>
<?php
$v1=$_POST['nom_alcool'];
$v2=$_POST['degre'];
$v3=$_POST['provenance'];
$v4=$_POST['id_type'];
$mysqli = new mysqli("localhost", "root", "root", "le bistrot");
$mysqli -> set_charset("utf8");
$requete1 = "SELECT id_alcool FROM alcool";
$resultat1 = $mysqli -> query($requete1);
$nombre = mysqli_num_rows($resultat1) + 1;
echo $nombre;
$requete="INSERT INTO alcool VALUES($nombre, '$v1', '$v2', '$v3', '$v4')";
$resultat = $mysqli -> query($requete);
if ($resultat)
echo "<p>L'alcool a été ajouté</p>";
else
echo "<p>Erreur</p>";
?>
</body>
</html>
Configuration: Windows / Chrome 97.0.4692.71
A voir également:
- Menu déroulant PHP sur base de donnée
- Menu déroulant excel - Guide
- Excel menu déroulant en cascade - Guide
- Base de registre - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Menu caché tv continental edison ✓ - Forum Téléviseurs
2 réponses
Bonjour,
Fais donc un var_dump($_POST); au début de ton code pour voir ce que contient la variable $_POST
tu devrais voir qu'en effet.. il n'existe aucune entrée avec comme clé id_type....
Vu que ta liste déroulante ( le <select> ) à pour attribut name nom_type
c'est cette variable qu'il faut donc utiliser.
Fais donc un var_dump($_POST); au début de ton code pour voir ce que contient la variable $_POST
tu devrais voir qu'en effet.. il n'existe aucune entrée avec comme clé id_type....
Vu que ta liste déroulante ( le <select> ) à pour attribut name nom_type
<select name="nom_type">
c'est cette variable qu'il faut donc utiliser.