|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : avril 2007 Messages : 26 ![]() |
Bonjour,
Juste un ptit post pour savoir comment mettre à jour seulement un champ de la dernière ligne d'une base de donnée : $sql = "UPDATE Tproduit SET produit1='$produit1'"; Cette ligne de code me change produit1 par ce qui est contenue dans ma variable pour toutes les lignes de ma table. Je voudrais juste changer le produit1 de la dernière ligne de ma table. Je pense que je dois utiliser la condition WHERE, mais je n'ai pas trouver comment l'utiliser pour faire en sorte qu'il s'adresse seulement à la dernière ligne. Merci ! |
|
|
00
|
|
|
#2 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 686 ![]() |
Salut
ta table Tproduit est sans doute un identifiant ou un numéro. C'est sur ce numéro que tu dois faire la clause Where de ta requête |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : avril 2007 Messages : 26 ![]() |
Oui j'ai un ID qui s'auto incrémente. Mais comme il change tout le temps, je ne peux pas m'adresser a ce dernier.
A moins de dire que je souhaite m'adresser au plus au ID de la table, es-ce possible ?! Merci |
|
|
00
|
|
|
#4 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 686 ![]() |
Tout dépend de si ton gestionnaire de base de données accepte les requêtes imbriquées ou pas.
Si c'est le cas, tu peux rajouter une sous-requête dans ta requête. Ce qui donne quelque chose comme ça : Code requete :
UPDATE Tproduit SET produit1='$produit1' WHERE ID = (SELECT Max(ID) FROM Tproduit) Sinon, éventuellement faire 2 requêtes successives : une qui récupère le maximum des ID et la suivante qui utilise cette variable pour mettre la table à jour. |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : avril 2007 Messages : 26 ![]() |
J'ai essayé la méthode que tu m'as montré, je n'arrive pas à la faire fonctionner.
$recherche_ID = "SELECT MAX(idProduit) FROM Tproduit"; $id = mysql_query($recherche_ID) or die ("Erreur d'envois de la requete SQL".mysql_error()); $sql = "UPDATE Tproduit SET paris1='$paris1' WHERE idProduit='$id'"; Cela ne fonctionne pas, après quelques essais j'ai fais un echo pour verifier, et je me suis rendu compte que je n'obtenais pas ce que je voulais : echo " id : $id"; Cela me renvois : "Resource id #3" (peut importe ce qui se trouve dans la table). Alors que le plus haut idProduit est 54. Par contre la commande suivante fonctionne niquel, mais bon c'est pas très dynamique $sql = "UPDATE Tproduit SET paris1='$paris1' WHERE idProduit='54'"; Si vous avez une idée pour résoudre mon problème... Merci ! |
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Inscription : avril 2007 Messages : 26 ![]() |
Je viens de trouver la réponse à mon problème :
Code :
|
||
|
|
00
|
|
|
#7 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 686 ![]() |
effectivement, je n'avais pas pensé à un tri décroisssant, même si c'est snas doute ce qu'il y a de plus logique
Si ton problème est résolu, tant mieux ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com