Ajout/Modif/suppression de donnée de BD

rachidphp93 Messages postés 212 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 8 avril 2007 - 23 mars 2006 à 14:17
rachidphp93 Messages postés 212 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 8 avril 2007 - 24 mars 2006 à 13:43
bonjour,

j'ai essayé de faire un exemple pr voir comment ca marche le script suivant:
<?php
include ("connexion.php");
//Ce script enregistre automatiquement toutes les données provenant d'un formulaire
//dans une table $table en affectant la valeur du champ du formulaire au champ correspondant de la table
//Si on spécifie un id, il actualisera l'entrée donnée par l'id avec les données du formulaire
//Cela permet d'utiliser un seul script pour plusieurs tables et de simplifier ainsi les ajout/modification
//dans une base de donnée

//Note : si on souhaite utiliser des champs dans le formulaire qui ne sont pas présents dans la table, il faut les
//préfixer par "tmp_"

//Ex : on a un formulaire pour ajouter un message dans une table "forum"
//Ce formulaire contient les champ "nom", "date" et "message"
//avec les données respective "Bilbo", "2003-07-01" et "Bonjour."
//le script créera donc automatiquement la requête suivante et l'executera :
//"INSERT INTO forum (nom,date,message) VALUES ("Bilbo","2003-07-01","Bonjour.")"

//Initialisations
if($id){
$listChampsVal = "";
}else{
$listChamps = "";
$listVal = "";
}

//Parcours des champs du formulaire
reset($HTTP_POST_VARS);
while(list($cle,$val) = each($HTTP_POST_VARS)){

//Ajout du champ actuel dans la requête à exécuter
if(!ereg("^tmp_",$cle)){
if($id){
$listChampsVal .= ",$cle="$val"";
}else{
$listChamps .= ",$cle";
$listVal .= ","$val"";
}
}

if($id){
$listChampsVal = ereg_replace("^,","",$listChampsVal);
}else{



$listVal = ereg_replace("^,","",$listVal);
}
$table="forum";
//Execution de la requête (on doit être connecté à la base de donnée)
if($id){
$requete = "UPDATE $table SET $listChampsVal WHERE id="$id"";
}else{
$requete = "INSERT INTO $table ($listChamps) VALUES ($listVal)";
}
mysql_query($requete) or die('erreur : '.mysql_error());
}
?>

j'ai creé la table suivante: forum, et un formulaire de autoform:

<form action="auto.php" method="post" name="autoajoutsup">
nom:
date:
message: </textarea>

</form>

mais je n'ai rien changé dans auto.php:
les erreur sont donc : il ne reconnai pas $id et $table ce qui est logique pour moi car je ne defini nul part ces variables; merci de votre aide

6 réponses

krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009 1
23 mars 2006 à 14:45
salut,
hmm, je vois pas ou est la question :)
0
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
23 mars 2006 à 14:55
Alors tu confond pas mal de chose !!!

dis moi quel est le nom de ta table et le nom des champs dans cet table !!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 15:02
Tu devrais changer de bouquin/tutorial, parce que ce code est particulièrement pourri...
0
rachidphp93 Messages postés 212 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 8 avril 2007
23 mars 2006 à 15:35
c'esl le tutorial site phpdebutant,

c'est la table forum (id,nom,date,message), merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
24 mars 2006 à 11:47
$requete = "UPDATE $table SET $listChampsVal WHERE id ="$id"";

là, je ne sais pas ce que tu mets à jour...

set champ='$champ'
0
rachidphp93 Messages postés 212 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 8 avril 2007
24 mars 2006 à 13:43
je suis d'accord avec toi mais j'ai besoin de creer un fichier php qui me fait ajout,modiffication ou la suppression dans une ou plusieurs tables de ma base de donnees. et je C pas si ca se fait ou pas! normalement OUI mai j y arrive, tu n'as pas un solution ? je sui grave en galere!!!
0
Rejoignez-nous