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 :

Un seul bloc de requêtes pour récupérer et modifier le même champ [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut Un seul bloc de requêtes pour récupérer et modifier le même champ
    Bonjour,

    J'ai un petit souci.
    Mon souci c'est de récupérer le champ vote de ma table article de l'incrémenter à 1 et de le mettre à jour. Comment faire ça dans un seul bloc de requête?
    Voilà ce que je suis arrivé à faire. C'est très mauvais. Je sais. Aidez-moi à le faire en un bloc de requête propre SVP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?php
    //Là je récupère la donnée et l'incrémente
    $sql = sprintf("SELECT vote FROM articles ");
    $Recordset2 = mysql_query($sql, $id_connect) or die(mysql_error());
    $ligne = mysql_fetch_assoc($Recordset2);
    $vote = $ligne['vote'];
    $vote_actuel = $vote + 1;
    ?>
     
    <?php
    //ici je met à jour la donnée
    $sql = "UPDATE articles SET vote = '$vote_actuel' WHERE ID = '$viD'";
    mysql_query($sql, $id_connect) or die (mysql_error());
    ?>
    D'avnce je vous remercie beaucoup
    Je sais que je ne sais rien

  2. #2
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "UPDATE articles SET vote = vote + 1 WHERE ID = '$viD'";
    devrait fonctionner.
    a+

  3. #3
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Ah bon, je ne savais pas qu'on peu incrémenté une variable alors qu'elle n'est pas encore récupérée. Merci Je vais toute de suite le tester
    Je sais que je ne sais rien

  4. #4
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    Citation Envoyé par Alexandrebox
    Ah bon, je ne savais pas qu'on peu incrémenté une variable alors qu'elle n'est pas encore récupérée. Merci Je vais toute de suite le tester
    Il ne s'agit pas de variable PHP, mais d'une instruction MySQL.
    Teste quand même, mais il me semble bien que c'est possible.

  5. #5
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Bonjour Nako,

    c'est encore moi. ça ne donne pas d'erreur sql mais la valeur n'est pas incrémentée.
    Je sais que je ne sais rien

  6. #6
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    Je te confirme que ça doit fonctionner :
    http://dev.mysql.com/doc/refman/5.0/fr/update.html
    As-tu vérifier la syntaxe ?
    Es-tu sûr d'avoir la bonne valeur de l'ID ?
    Tu peux essayer ta requête directment en BD sinon (via PHPMyAdmin ou autre).
    a+

  7. #7
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    J'affiche même la variable ID après le résultat. ça m'affiche toujours 0. comme résulatat. Pourtant l'ID est juste.
    Je sais que je ne sais rien

  8. #8
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Je viens de lire la doc que tu m'as envoyé. Tu as tout à fait raison. Mais je ne comprends pas pk ça ne marche pas. Je vais faire encore des tests pour voir.
    Je sais que je ne sais rien

  9. #9
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Re Nako,

    Merci pour ton aide. ça marche. J'ai vu mon erreur. Au fait l'rgument devrait être posé à deux enroits. C'est la mauvaise condition qui était vérifiée. Alors je l'ai mis pour cette condition là aussi. Et tout marche à merveille.
    Je sais que je ne sais rien

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

Discussions similaires

  1. Requête pour récupérer les ID
    Par Lerchechem dans le forum SQL
    Réponses: 4
    Dernier message: 12/06/2009, 10h29
  2. [MySQL] Requête pour récupérer les informations d'un membre
    Par webamies dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 09/05/2009, 21h10
  3. [MySQL] Requête pour récupérer toutes les valeurs d'un tableau
    Par djoumusic dans le forum PHP & Base de données
    Réponses: 40
    Dernier message: 24/08/2008, 23h11
  4. [MySQL] Requête pour récupérer les 5 derniers enregistrement dans l'ordre croissant
    Par Jonathan.b dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/01/2008, 10h50
  5. Requête pour récupérer le nom des champs
    Par legillou dans le forum JDBC
    Réponses: 1
    Dernier message: 08/02/2006, 17h09

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