begin process at 2010 03 21 19:25:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

foreach $_POST INSERT MYSQL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

foreach $_POST INSERT MYSQL

mardi 10 mars 2009 à 15:50:46 | foreach $_POST INSERT MYSQL

Annadrill

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)";
 $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...

moi perdu...

quelqu'un peu m'aider?

bonne journée


Annadrill
mardi 10 mars 2009 à 15:52:21 | Re : foreach $_POST INSERT MYSQL

Annadrill

juste un truc encore... si dans ce qui est posté il y a une var $table=s_matable

ca devrait pouvoir faire passer le nom de la table?

Annadrill
mardi 10 mars 2009 à 16:25:37 | Re : foreach $_POST INSERT MYSQL

mike1310

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 ...

mardi 10 mars 2009 à 20:28:09 | Re : foreach $_POST INSERT MYSQL

Annadrill

Ca je suis d'accord, mais ce que j'aimerais

c'est créer la requete insert d'après n'importe quel formulaire.

si l'on oublie l'histoire de $table pour commencer

il faudrait arriver à

$requete="INSERT INTO latable VALUE($list) ";

mais je n'y arrive pas...

Annadrill

mardi 10 mars 2009 à 22:36:26 | Re : foreach $_POST INSERT MYSQL

mike1310

Réponse acceptée !
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

mardi 10 mars 2009 à 22:58:40 | Re : foreach $_POST INSERT MYSQL

Annadrill

ah ouai d'accord mdr (pour Dr House)

merci bien en tout cas,
je test demain, et je te redis,
merci de prendre le temps en tout cas

ciao

Annadrill
mardi 10 mars 2009 à 23:26:37 | Re : foreach $_POST INSERT MYSQL

Annadrill

Réponse acceptée !

hey ,
jai modifié un deux ptit truc pour que ca passe

$list="";

foreach ($_POST as $key=>$val)
{
   $list .= "'".$val."',";
}
$lista=htmlspecialchars_decode(htmlentities($list));

$req = "INSERT INTO s_sculpture VALUE (".substr($lista,0,-1).")";
 $idcom=connex('sarah','param');
 $res=@mysql_query($req,$idcom);
  if(!$res)
  {
  echo "erreur ".mysql_error()."";
  }
  else
  {
  echo'Sauvegarde Réussie';
  }

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

bonne soirée

Annadrill

mercredi 11 mars 2009 à 10:20:58 | Re : foreach $_POST INSERT MYSQL

mike1310

Aaaaaah oui lol ... La syntaxe que je t'ai mis c'étais la syntaxe pour un UPDATE ...^^ Dr House ne m'a pas réussi ...

Ravi d'avoir pu te filer un coup de main...

PS: Pense au tag "résolu"
mercredi 11 mars 2009 à 12:37:29 | Re : foreach $_POST INSERT MYSQL

Annadrill

pour le tag, il veut pas maintenant, je me retrouve avec un message d'erreur sur la page,

alors je ressaierai plus tard ;)

pour l'update, c'est cool, parce que je pourrai aussi l'employer :)

sâlut

Annadrill

mercredi 11 mars 2009 à 12:42:54 | Re : foreach $_POST INSERT MYSQL

Annadrill


ah bin c'êst passé mtn mdr

Annadrill

1 2

Cette discussion est classée dans : insert, table, mysql, post, foreach


Répondre à ce message

Sujets en rapport avec ce message

updater plusieurs lignes en meme temps [ par plasticode ] here i come again.voilà je mets en place une page modif.php qui fait appel àune base de données mysql avec plusieurs tables liées.Mes mises a jour fon Pb d'INSERT , aucune erreur retournée ... [ par Blasfem ] Salut à tous, J'ai un souci, je suis en trin de me former sur le PHP et ma page d'ajout ne fonctionne pas. Pourtant le code semble correct . ? inclu MySQL_INSERT_ID mais pour le delete ???? [ par ripoux ] Hello,Peut-être l'aurez-vous compris dans le titre...Je cherche un moyen pour faire un delete de plusieur table relié entre elle.Pour un Insert, il ex une question sur la getion des insert de MYSQL [ par destiny ] lo all :)Voila, en gros jdoit refaire tout un module de resa par internet (sans SSL) de mon prédécesseur!!Jviens de voir dans sa page validation info  PHP : Suppr enregistrement BDD avec confirmation par boite de dialogue ? [ par Waynejunior ] Bonjour, je cherche un moyen d'afficher une boite de dialogue quand l'utilisateur clique sur le bouton supprimer (un ou plusieurs enregistrements de m test si existe dans base de donnée [ par gabs77 ] bonjour, je fais un formulaire avec page récapitulatif et je veux faire des tests d'existence dans la base de donnée pour mon intranetcad dans mon for $_POST[mon_champ] et boucle [ par DocR2 ] Bonjour,J'ai un formulaire qui s'affiche suite à une requête mysql : mes deux champs de formulaire sont donc répétés tant que des données existent dan php et sql [ par fatatra ] bonjour;j'essaie de rentrer des données dans ma bases a partir d'un formulaire.Ce queje fais c'est que je recupére les variable 'post' pour les mettre insert into BDD d'un textarea [ par theboubourse ] bonjour je voudrais inseré dans ma BDD les donner qui se trouve dans mon textarea mais voila seul les donner des autres champs entre dans ma BDD (ce s Je peux savoire comment inserer des donnees dans plusieur tables au meme temps qui appartienent au meme base [ par fanti ] J'ai essayé avec se coude mais il se bloqueecho("debut");$NCIN = $_POST['NCIN'];$nom = $_POST['nom'];$prenom=$_POST['prenom'];$email=$_POST['email'];$


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales