Modifier une table MySQL avec un formulaire

Résolu/Fermé
Pascal-Jr - 15 mars 2011 à 16:39
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 - 18 mars 2011 à 01:03
Bonjour à tous.
Je voudrais modifier une table MySQL avec un formulaire.
En fait, j'ai un système d'annonce pour un site de moto où l'utilisateur met des motos à vendre.
Mon problème :
Je n'arrive pas à me servir de la fonction UPDATE (que j'ai trouvé après un peu de recherche).
Merci d'avance pour toutes vos réponses et votre patience.



A voir également:

3 réponses

Il manque deux points, ce qui donne :
<?php
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=annonces' , 'root' , '' , $pdo_options);

$id = $_GET['id'];
$req = $bdd->prepare('UPDATE article SET modele=:modele, cylindree=:cylindree, km=:km, annee=:annee, prix=:prix, description=:description WHERE id = ' .$id .' ');
$req->execute(array(
'modele' => $_POST['modele'],
'cylindree' => $_POST['cyl'],
'km' => $_POST['km'],
'annee' => $_POST['annee'],
'prix' => $_POST['prix'],
'description' => $_POST['description'],
));
echo "L'annonce a bien été modifiée";
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
7
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
18 mars 2011 à 01:03
GG vous avez reussi, sorry je m'etais absente :p
0
Vardok Messages postés 359 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 24 octobre 2014 133
15 mars 2011 à 16:43
Salut,

Tu code en php ?
La syntaxe pour modifier une table est la suivante :
UPDATE "nom de ta table" SET "nom de ta colonne" = [valeur]
WHERE {condition}


Pour inclure ceci en php tu dois utiliser la fonction $variable=mysql_query("ta requete sql")

Pour plus de précision demande.
1
J'utilise PDO c'est plus sécurisé, le seul truc que je ne comprends pas c'est comment modifier plusieurs la fonction UPDATE avec plusieurs champ en même temps.
Voici les champs que je voudrais modifier :
-modele,
-cylindree,
-km,
-annee,
-prix,
-description
0
Vardok Messages postés 359 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 24 octobre 2014 133
15 mars 2011 à 17:00
Ta requete :
UPDATE "nomDeTaTable" SET "modele" = 'motorola', "cylindree" = '150', "km" = '8000', "annee" = '2008', "prix" = '5000', "description" = 'la meilleur moto du monde qui va très vite :p'
WHERE ta condition (par exemple WHERE "modele"='mototrola')
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
15 mars 2011 à 17:04
Salut,

Tout simplement quelque chose comme :

UPDATE "nom de table"
SET modele = "Peugeot 103", cylindree = 5, km = 9000, annee = 1990, prix = 50, description = "103 a jamais"
WHERE {condition}
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
15 mars 2011 à 17:05
Oh bah même pas drôle tu me devances :(
0
et avec le formulaire sais-tu ce que ça donnerai a peu près ?
0
Il manqué simplement deux points, ce qui donne :
<?php
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=annonces' , 'root' , '' , $pdo_options);

$id = $_GET['id'];
$req = $bdd->prepare('UPDATE article SET modele=:modele, cylindree=:cylindree, km=:km, annee=:annee, prix=:prix, description=:description WHERE id = ' .$id .' ');
$req->execute(array(
'modele' => $_POST['modele'],
'cylindree' => $_POST['cyl'],
'km' => $_POST['km'],
'annee' => $_POST['annee'],
'prix' => $_POST['prix'],
'description' => $_POST['description'],
));
echo "L'annonce a bien été modifiée";
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
0
Vardok Messages postés 359 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 24 octobre 2014 133
Modifié par Vardok le 16/03/2011 à 17:00
Résolu alors ?

Ps : fais un vote négatif sur ma première réponse pour que notre blablatage descende...
Bonne continuation
0
Vardok Messages postés 359 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 24 octobre 2014 133
16 mars 2011 à 17:30
NEGATIF (trois fois de suite pour avoir -1 maintenant) ! Ma première réponse n'est PAS intéressante donc il faut mettre ta réponse de 17h16 en avant pas les miennes !
0
Erf ... j'ai fait une connerie.
Il faudrait que quelqu'un vote en plus
0
Vardok Messages postés 359 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 24 octobre 2014 133
16 mars 2011 à 17:48
Nan tu peux encore voter négatif sur moi normalement.
Je t'ai encore augmenté de 1 avec un proxy ^^
0
gg ^^
0