Formulaire (select) avec Switch
ifox69
-
moderno31 Messages postés 900 Statut Membre -
moderno31 Messages postés 900 Statut Membre -
Bonjour,
J'ai un petit problème avec la fonction switch, je part d'un formulaire simple
<form method="POST" action="admin.php">
<select name="categorie">
<option value="categorie 1">categorie 1</option>
<option value="categorie 2">categorie 2</option>
<option value="categorie 3">categorie 3</option>
</select>
Titre de la souscategorie : <input type="texte" name="titresouscategorie"> <input type="submit" value="ok"/>
</form>
je choisi la categorie dans laquelle je veux mettre une souscategorie, ensuite je me sert d'un switch pour insérer la souscategorie dans ma BDD, la suite du code est ceci :
...connection mysql....
$categorie = $_POST['categorie'];
$titresouscategorie = $_POST['titresouscategorie'];
switch ($categorie)
{
case "multimedia":
mysql_query("INSERT * INTO souscategoriemulti VALUES ('', '$titresouscategorie'");
break;
case "jeux":
mysql_query("INSERT * INTO souscategoriejeux VALUES ('', '$titresouscategorie'");
break;
case "mode":
mysql_query("INSERT * INTO souscategoriemode VALUES ('', '$titresouscategorie'");
break;
}
mais sa marche pas rien ne s'insère dans ma BDD quelqu'un peut-il m'aider je suis presque sur que le probleme vient du switch.
J'ai un petit problème avec la fonction switch, je part d'un formulaire simple
<form method="POST" action="admin.php">
<select name="categorie">
<option value="categorie 1">categorie 1</option>
<option value="categorie 2">categorie 2</option>
<option value="categorie 3">categorie 3</option>
</select>
Titre de la souscategorie : <input type="texte" name="titresouscategorie"> <input type="submit" value="ok"/>
</form>
je choisi la categorie dans laquelle je veux mettre une souscategorie, ensuite je me sert d'un switch pour insérer la souscategorie dans ma BDD, la suite du code est ceci :
...connection mysql....
$categorie = $_POST['categorie'];
$titresouscategorie = $_POST['titresouscategorie'];
switch ($categorie)
{
case "multimedia":
mysql_query("INSERT * INTO souscategoriemulti VALUES ('', '$titresouscategorie'");
break;
case "jeux":
mysql_query("INSERT * INTO souscategoriejeux VALUES ('', '$titresouscategorie'");
break;
case "mode":
mysql_query("INSERT * INTO souscategoriemode VALUES ('', '$titresouscategorie'");
break;
}
mais sa marche pas rien ne s'insère dans ma BDD quelqu'un peut-il m'aider je suis presque sur que le probleme vient du switch.
Configuration: Mac OS X Firefox 3.0.11
5 réponses
-
Bonjour
Avant ton switch, fais des echo $categorie et $titresouscategorie pour être sûr que les données du formulaire sont bien reçues.
Ensuite, ajoute à chaque appel à mysql_query un or die (mysql_error()); pour voir la cause de l'erreur -
<select name="categorie">
<option value="categorie 1">categorie 1</option>
<option value="categorie 2">categorie 2</option>
<option value="categorie 3">categorie 3</option>
</select>
ta liste va te renvoyer categorie 1 ou 2 ou 3
hors toi tu bases ton switch sur
multimedia, jeux, mode
soit tu modifies les values de ta liste soit les case multimedia etc..pour mettre en concordance -
Hello,
Déjà d'aucun système SGBD je ne connais cette syntaxe...>mysql_query("INSERT * INTO souscategoriemulti VALUES ('', '$titresouscategorie'");
Je préférerais mettre
$sql = mysql_query("INSERT INTO souscategoriemulti (`champ1`,`champ2`,`champ3`) VALUES ('val1', '$titresouscategorie','val3'");
Conseil : Gérer un maximum de valeurs par défaut coté base de données (ex date création de type timestamp avec NOT NULL et valeur par défaut current timestamp en case à cocher).
Ces indications conviennent bien à MySQL.. -
mysql_query("INSERT * INTO souscategoriemulti VALUES ('', '$titresouscategorie'");
marche mais SANS l'étoile ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ahh oui, ça doit etre la première méthode. Tu as raison Alain_42
Par contre attention si tu rajoute ou supprime des champs dans cette table ça pose prob après...