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 :

Mise à jour avancée


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Par défaut Mise à jour avancée
    Bonjour à tous,

    je coince sur un soucis mysql.

    Je dois ajouter une fonctionnalité sur un petit jeux;

    Chaque membre a un ou plusieurs sites (pas site web mais sites de construction) et une seule banque.

    Chaque membre peut mettre ses réserves d'or (de leur banque) dans leur différents sites pour être en sécurité, pour le moment ils doivent toujours le faire manuellement.

    Je dois créer une tâche automatisé qui va retirer l'or qu'ils ont à la banque et le mettre dans leur réserves d'or sur leur différents site, en fonction du nombre qu'ils choisissent (j'espère que j'arrive à me faire comprendre O_o), s'il leur solde en banque est plus petit que ce qui doit être ajouté, alors RIEN n'est ajouté.

    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
    16
    Tables :
     
    Membre :
    Id
    banque (montant d'or disponible, qui n'est pas encore dans leur réserve d'or)
     
    Site : 
    Id
    membreId (pour savoir à qui appartient la réserve d'or)
    reserveOr (le montant d'or qu'ils ont sur le site en question)
     
    AttribuerOr :
    Id
    membreId
    siteId (pour savoir quel site doit être updaté)
    montant (le montant d'or qui va être retiré de la banque et ajouté sur le site)
    Ce que je dois faire dans la tâche automatisé c'est faire une seule ligne de code SQL.

    Si c'est vraiment pas possible, alors il faudrait faire une boucle dans la procédure stockée...

    J'ai donc commencé la requete sans succès ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Update site SET reserveOr = (reserveOr + (SELECT montant FROM AttribuerOr WHERE AttribuerOr.membreId = site.membreId) ) WHERE site.membreId IN (SELECT membre.id FROM membre INNER JOIN AttribuerOr WHERE membre.banque >= AttribuerOr.montant)
    Edit : et évidement l'update : l'or qui a été ajouté sur leur site doit être retiré de leur banque

    Merci de votre aide

  2. #2
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Tu as oublié une condition dans ta 1ere sous requête qui va chercher le montant à créditer : AttribuerOr.siteId = site.Id

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT montant 
    FROM AttribuerOr 
    WHERE AttribuerOr.membreId = site.membreId AND AttribuerOr.siteId = site.Id

Discussions similaires

  1. [XL-2007] Mise à jour d'une base données via recherche avancée et formulaire en excel VBA
    Par nazz4 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 21/02/2011, 00h11
  2. [Avancé]Mise à jour automatique chez les utilisateurs
    Par Claythest dans le forum Langage
    Réponses: 10
    Dernier message: 13/04/2007, 12h42
  3. Mise à jour de la version de MySQL
    Par jobstar dans le forum Administration
    Réponses: 8
    Dernier message: 18/08/2003, 10h45
  4. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25
  5. Réponses: 2
    Dernier message: 12/02/2003, 15h26

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