INSRT INTO $variable VALUES (...

Résolu/Fermé
jypyx Messages postés 683 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 28 novembre 2012 - 31 déc. 2008 à 17:42
jypyx Messages postés 683 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 28 novembre 2012 - 1 janv. 2009 à 13:14
Bonjour,

Voilà mon petit soucis, je voudrais procéder à une optimisation de code.

Je travail sur un module d'administration où l'administrateur peut rentrer des vêtements dans une table.

A chaque fois il doit spécifier le type via un <select>de l'article (veste, pantalon, jupe, robe etc...)

Mon code marche parfaitement quand je fait des condition pour chaque valeur :

Code HTML :
        <select name="type">
            <option value="1">Veste</option>
            <option value="2">Pantalon</option>
            <option value="3">Robe</option>
            <option value="4">Jupe</option>
        </select>


Code PHP :

$type = $_POST['type'];
			
if($type == 1)
{
mysql_query("INSERT INTO veste VALUES('', '".$nom."', '".$descriptif."', '".$composition."', '', '', '', '".$couleur."', '".$prix."')");
}
if($type == 2)
{
mysql_query("INSERT INTO pantalon VALUES('', '".$nom."', '".$descriptif."', '".$composition."', '', '', '', '".$couleur."', '".$prix."')");
}
if($type == 3)
{
mysql_query("INSERT INTO robe VALUES('', '".$nom."', '".$descriptif."', '".$composition."', '', '', '', '".$couleur."', '".$prix."')");
}
if($type == 4)
{
mysql_query("INSERT INTO jupe VALUES('', '".$nom."', '".$descriptif."', '".$composition."', '', '', '', '".$couleur."', '".$prix."')");
}


Bref ! C'est un peu lourd mais ca marche, cependant, je voudrais pouvoir alléger le code.

Alors voilà mon autre version du code :

Code HTML :
        <select name="type">
            <option value="veste">Veste</option>
            <option value="pantalon">Pantalon</option>
            <option value="robe">Robe</option>
            <option value="jupe">Jupe</option>
        </select>


Code PHP :

$type = $_POST['type'];
			
mysql_query("INSERT INTO '".$type."' VALUES('', '".$nom."', '".$descriptif."', '".$composition."', '', '', '', '".$couleur."', '".$prix."')");


La valeur de $type est exactement la même que le nom de mes tables pourtant cette deuxième version ne marche pas!!
Quelqu'un arrive a voir quel est mon erreur et pourrais par l'occasion me dire où elle se trouve ?

Merci d'avance,

Jypyx

3 réponses

Galawin Messages postés 835 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 17 novembre 2013 123
31 déc. 2008 à 17:45
Ajoute :

mysql_query("INSERT INTO '".$type."' VALUES('', '".$nom."', '".$descriptif."', '".$composition."', '', '', '', '".$couleur."', '".$prix."')") or die(mysql_error());


Et regarde l'erreur que retourne mysql
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
31 déc. 2008 à 17:47
Bonsoir,

il ne faut pas les ' pour le nom de la table

mysql_query("INSERT INTO ".$type." VALUES('', '".$nom."', '".$descriptif."', '".$composition."', '', '', '', '".$couleur."', '".$prix."')");
0
jypyx Messages postés 683 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 28 novembre 2012 107
1 janv. 2009 à 13:14
Merci Galawin pour ta réponse, cela ma permis de comprendre l'erreur, et Alain_42 avait tout a fait raison, merci beaucoup le problème est réglé !!
0