Bonjour,
Voila je rencontre un petit problème avec mon code. J'ai une base de données correspondant a un magasins, j'arrive a ajouter dans ma table rayon qui ne contiens qu'une colonne. Mais je n'arrive pas a refaire la même pour les produits qui ont eux plusieurs colonnes a remplir, en ésperant que l'un de vous puisse m'aider a comprendre ou se trouve mon erreur
<?php include '../Header.html'; ?>
<html>
<body>
<form method="POST" action="Ajouter Un Produit.php">
<p> <label for="categorie"> Rayon:</label>
<select size="1" id="categorie" name="a">
<?php
$bdd = new PDO('mysql:host=localhost;dbname=magasins;charset=utf8', 'root', '');
$recup = $bdd->prepare("SELECT * FROM categorie");
$affichage = $recup->execute();
$categories = $recup->fetchAll() ;
foreach ($categories as $categorie):
?>
<option value="<?php $categorie['id'] ?>"><?php echo $categorie['nom']?> </option> <?php endforeach; ?>
< </select>
</p>
<p> <label for="produit">Nom: </label> <input type="text" id="produit" name="b" placeholder="Produit"> </p>
<p> <label for="codebarre">Code_Barre: </label> <input type="text" id="codebarre" name="c" placeholder="Code_barre"> </p>
<p> <label for="poids">Poids: </label> <input type="text" id="poids" name="d" placeholder="Poids en kg"> </p>
<p> <label for="quantite">Quantite: </label> <input type="text" id="quantite" name="e" placeholder="Quantite"> </p>
<p> <label for="prix">Prix: </label> <input type="text" id="prix" name="f" placeholder="Prix ht en e"> </p>
<p> <label for="remise">Remise: </label> <input type="text" id="remise" name="g" placeholder="Remise en %"> </p>
<p> <label for="tva">TVA:</label>
<select size="1" id="tva" name="h">
<?php
$bdd = new PDO('mysql:host=localhost;dbname=magasins;charset=utf8', 'root', '');
$recup = $bdd->prepare("SELECT * FROM tva");
$affichage = $recup->execute();
$tva = $recup->fetchAll() ;
foreach ($tva as $taux):
?>
<option value="<?php $taux['id'] ?>"><?php echo $taux['taux']?> </option> <?php endforeach; ?>
</select>
</p>
<input type="submit" value="Envoyer" />
<button type="reset" value="BouttonReset" name="ResetChamps"> Vider les champs</button>
</form>
</body>
</html>
<?php
// On commence par récupérer les champs
if(isset($_POST['a']) and isset($_POST['b']) and isset($_POST['c']) and isset($_POST['d']) and isset($_POST['e'])and isset($_POST['f'])and isset($_POST['g'])and isset($_POST['h']))
{
$bdd = new PDO('mysql:host=localhost;dbname=magasins;charset=utf8', 'root', '');
// on écrit la requête sql
$sql = "INSERT INTO produit
(id_categorie,nom,code_barre,poids,quantite,prix_ht,remise,id_taux)
VALUES (?,?,?,?,?,?,?,?)";
// on insère les informations du formulaire dans la table
$req=$bdd->prepare($sql);
$req->execute(array($_POST['a'],$_POST['b'],$_POST['c'],$_POST['d'],$_POST['e'],$_POST['f'],$_POST['g'],$_POST['h']));
// on affiche le résultat pour le visiteur
echo 'Vos infos on ete ajoutees.'.'<br /> ';
}
// On vérifie si les champs sont vides
else
{
echo '<h1> <p style="text-align:center;color:red"> Champs vide </h1></p>';
var_dump($sql['nom']);
}
?>
Je tiens a preciser qu'il n'y a aucune erreur apparente j'ai chercher la source du problème mais je n'ai absolument rien trouvé
Bonjour a tous j'ai trouver la source de mon problème
Il faut remplacer cela
<option value="<?php $categorie['id'] ?>"><?php echo $categorie['nom']?> </option> <?php endforeach; ?>
<option value="<?php $taux['id'] ?>"><?php echo $taux['taux']?> </option> <?php endforeach; ?>
par cela:
<option value="<?= $categorie['id_categorie'] ?>"><?php echo $categorie['nom']?> </option> <?php endforeach; ?>
<option value="<?= $taux['id'] ?>"><?php echo $taux['taux']?> </option> <?php endforeach; ?>
@Carouge10, Merci pour ta reponse je l'est ai enlever c'est vrai que ça ma enlever beaucoup de ligne de code
@lolo3129, Il y'a des chances que cela soit ça car dans ma table produit il y'a des colonnes en (entiers,chaine de carectères et float) quelle serait la solution pour pallier a se problème ?