Fonction update en php [Résolu/Fermé]

Signaler
-
 stevie21 -
Bonjour,

j'aimerais me servir de la fonction update afin de permettre à certain usager précis d'avoir la possibilité de modifier le contenu de certain champ d'une base de donnée.

je me suis servit du code semblable à celui-ci:

mysql_query("UPDATE table SET champ1='10' , champ2='prix', ... WHERE ID='1'");

cependant, afin que cela se fasse automatiquement j'aimerais avoir quelque chose du genre:

mysql_query("UPDATE table SET champ1=$_POST['nom_du_champ1'] , champ2=$_POST['nom_du_champ2'], ... WHERE ID='1'");

ou

mysql_query("UPDATE table SET champ1=$champ1 , champ2=$champ2, ... WHERE ID='1'");

si au préalable on a fait

$champ1 = mysql_real_escape_string(htmlspecialchars($_POST['champ1']));


donc ce que je veux, c'est que l'utilisateur remplisse un champ et que ce contenu s'enregistre dans la BD




autre point, je voudrais savoir s'il y a moyen d'incrémenter la valeur de 1 dans where ID='1', pour qu'à chaque entrée visible sur ma page, le ID soit numéroté de 1 jusqu'au dernier

ex: i = 0;
WHERE ID='i + 1';



merci !!

3 réponses

Messages postés
759
Date d'inscription
mardi 13 mars 2007
Statut
Membre
Dernière intervention
22 janvier 2014
162
Quelle est la question précise?
Messages postés
417
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
30 janvier 2011
41
Salut,
pour le 1, il faut que dans ta base de données, le champs ID soit auto_increment (dans extra).

sinon, il faut que tu crées un formulaire avec des inputs dans lesquels tu mets ce que tu veux changer dans la base de données :

Voici le code :

<form action="" method="post">
<input type="text" name="nom_du_champ1" />
<input type="text" name="nom_du_champ2" />
...
</form>

<?php $dbConn = mysql_connect("localhost" , "Identifiant", "Mot de passe");
mysql_select_db("base de données", $dbConn);

$champ1 = $_POST['nom_du_champ1'];
$champ2 = $_POST['nom_du_champ2'];
...

mysql_query("UPDATE table SET champ1=$champ1, champ2=$champ2, ... WHERE ID='1'");
mysql_close();
?>

Voilà
Salut,

lorsque je fais la commande mysql update en mettant les variables dans les champs désirés, il n'y a rien qui s'enregistre dans ma BD

ex: mysql_query("UPDATE fda SET claudesolutions=$claudesolutions , validepar=$validepar, dateretour=NOW(), delegue=$delegue, dateecheancier=$dateecheancier, statut=$statut WHERE ID='1'");


dans ce cas je n'obtient rien de nouveau dans ma BD.

par contre, avec ce code : mysql_query("UPDATE fda SET claudesolutions='1', validepar='2', dateretour='3', delegue='4', dateecheancier='5', statut='6' WHERE ID='1'");

les données s'enregistre très bien et je peux les consulter via une autre de mes pages immédiatement.


le nom de mes champ est correct et l'affectation aux variable via POST également, je ne sais donc pas pourquoi cela ne fonctionne pas.

si tu as une idée, répond-moi merci
Messages postés
417
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
30 janvier 2011
41
Oui, j'ai compris.

Dans mon code, j'avais oublié de mettre les variables entre guillemets.

Remplace :

mysql_query("UPDATE fda SET claudesolutions=$claudesolutions , validepar=$validepar, dateretour=NOW(), delegue=$delegue, dateecheancier=$dateecheancier, statut=$statut WHERE ID='1'");

par :

mysql_query("UPDATE fda SET claudesolutions='$claudesolutions', validepar='$validepar', dateretour=NOW(), delegue='$delegue', dateecheancier='$dateecheancier', statut='$statut' WHERE ID='1'");

Excuse-moi.

Par contre, pour le NOW(), vérifie avec mon nouveau code et si ça ne marche pas, mets-le comme ça : 'NOW()' et si ça ne marche toujours pas, rappelle-moi !
sa marche parfaitement !!!!

merci