INSRT INTO $variable VALUES (...

Résolu
jypyx Messages postés 683 Date d'inscription   Statut Membre Dernière intervention   -  
jypyx Messages postés 683 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   123
 
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   Statut Membre Dernière intervention   894
 
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   Statut Membre Dernière intervention   107
 
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