Annadrill
Messages postés147Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention22 novembre 2012
-
10 mars 2009 à 15:50
Annadrill
Messages postés147Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention22 novembre 2012
-
12 mars 2009 à 10:01
bonjour,
bon j'ai un souci,
j'ai un formulaire envoyé en post a une page php,
ce que je cherche a faire c'est que n'importe quel formulaire puisse etre envoyé a cette page php,
il y serait envoyé ceci :
- le nom de la table
-les infos a inserer
et il faudrait créer une requete INSERT avec tout ca
j'ai essayé avec un foreach du genre
$list='';
foreach ($_POST as $key=>$val)
{$list.= ",'".$key=$val."'";}
$idcom=connex('sarah','param');
$req="INSERT INTO $table VALUE ($list)";
[mailto:$res=@mysql_query($req,$idcom $res=@mysql_query($req,$idcom]);
if(!$res)
{
echo "erreur ".mysql_error()."";
}
else
{
echo'Sauvegarde Réussie';
}
mais de 1 ; je ne sais pas comment faire pour faire passer en post le nom de la table (ici $table)
et de 2, le $list ne fonctionne pas...
cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 juillet 2009 10 mars 2009 à 22:36
ok commençons dans l'odre alors ...
as tu fais afficher ta requete pour voir d'ou venait le probleme parce que la je doute que ta requete soit correct ...
supposons que tu passe dans $POST ceci : array("name" => "toto", "lastname" => "titi")
tu fais ceci :
$list='';
foreach ($_POST as $key=>$val)
{
$list.= ",'".$key=$val."'";
}
$req="INSERT INTO $table VALUE ($list)";
Ainsi tu va te retrouver avec ceci
$rep = "INSERT INTO $table VALUE (,'name=toto','lastname=titi')";
Chose complètement erroné !!!
Tu as déja une virgule de trop au début et ensuite tes cotes sont mal placé ...
Tu devrait plutot faire un truc comme ça
$list="";
foreach ($_POST as $key=>$val)
{ $list .$key." '".$val."',";
}
$req = "INSERT INTO $table VALUE (".substr($list,0,-1)."); //Le substr pour enlever la virgule de fin de trop
J'ai pas testé hein ... J'ai fait ça comme je le sentais .. Je sors de devant Dr House alors faut pas trop m'en demander ^^ lol
me reste a faire un if si y a la variable $table, et faire en sorte que le foreach ne la prenne pas
et c'est tou bon
Un super grand merci, car jai réduit grace à toi à deux pages la centaine que jaurais du me taper
cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 juillet 2009 10 mars 2009 à 16:25
Pour faire cela, tu devrait utiliser dans ton formulaire des input type hidden ... Du genre un qui porte la value du nom de ta table et je pense ensuite que les champs à insérer dans ta table son ceux de ton formulaire ...