IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] Fonction UPDATE en sql


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut [SQL] Fonction UPDATE en sql
    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 !

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    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

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    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

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    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 !

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Je viens de trouver la réponse à mon problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?
     
    // Connexion ici
     
    $result = mysql_query("SELECT champ_id FROM votre_table ORDER BY champ_id DESC LIMIT 0,1");
    $row = mysql_fetch_array($result);
    echo $row["champ_id"];
     
    // Deconnexion ici
     
    ?>
    Merci à tous !

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    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 !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Fonction UPDATE PHP+SQL
    Par Lekno dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/05/2012, 17h55
  2. [SQL] Syntaxe UPDATE + manuel SQL
    Par massif dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/01/2007, 10h28
  3. [SQL] Problème avec la fonction UPDATE
    Par JohanProg dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 16/10/2006, 12h56
  4. [SQL] fonction d'insertion sql
    Par wdionysos dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 03/04/2006, 16h32
  5. Fonction UPDATE dans un ADOQuery - SQL
    Par yanba dans le forum Bases de données
    Réponses: 1
    Dernier message: 18/03/2006, 13h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo