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 :

Faire une soustraction/addition avec un minimum à respecter


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut Faire une soustraction/addition avec un minimum à respecter
    Bonsoir,

    j'ai besoin de votre aide précieuse, j'ai donc besoin de faire via PHP des additions et soustraction, mais sa ne doit pas descendre en dessous de 0 ou être au dessus de 100, explication :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $chiffre = 90;
    // je dois ajouter 20, alors je fait :
    $addition = $chiffre+20;
    //là problème, le résultat sera de 110, or il ne faut pas que ca dépasse 100
     
    //2ème soucis, identique pour une soustraction
    $chiffre = 10;
    $soustraction = $chiffre-20;
    //donc résultat de -10, et il ne faut pas que ce soit en dessous de 0
    Comment faire?

    Merci de votre aide :p

    PS : Pour l'aide, j'ai simplifier le code, mais en réalité j'aimerai faire ca, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "UPDATE xxxxxx SET xxx=$xxx+20";

  2. #2
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Il y a plusieurs solutions... L'une d'elles est de combiner min et max, que ce soit en php ou en sql...

    exemples (en php) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $resultat = min(100, $chiffre+20);
    $resultat = max(0, $chiffre-20);

  3. #3
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Donc, je peut faire un truc du genre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    $sql = "UPDATE xxxxxx SET xxx=max(100, $xxx+20)";
    $sql = "UPDATE xxxxxx SET xxx=min(0, $xxx-20)";
    Sachant, que j'ai de nombreuses lignes dans la BDD ?

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Pas tout à fait.
    Si tu travailles avec MySQL, il faut utiliser GREATEST ou LEAST :
    http://dev.mysql.com/doc/refman/5.0/...operators.html

  5. #5
    Membre éclairé
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Par défaut
    atention:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "UPDATE xxxxxx SET xxx=max(100, $xxx+20)";
    $sql = "UPDATE xxxxxx SET xxx=min(0, $xxx-20)";
    te donne le contraire de ce que tu veux !!!

    la tu prend soit 100 soit l'autre s'il est plus grand et soit 0 soit l'autre s'il est plus petit

  6. #6
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Super, ca fonctionne à merveille avec GREATEST,

    Merci

Discussions similaires

  1. Faire une soustraction avec des heures
    Par patmar83 dans le forum VBA Access
    Réponses: 2
    Dernier message: 16/06/2008, 22h53
  2. Faire une procédure stockée avec deux tables
    Par mister3957 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/03/2006, 13h54
  3. Comment faire une API Win32 avec C++ Builder
    Par Zerocool003 dans le forum C++Builder
    Réponses: 2
    Dernier message: 31/01/2006, 16h13
  4. Faire une liaison externe avec un fichier xml
    Par vodevil dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/01/2006, 11h18
  5. Réponses: 10
    Dernier message: 30/06/2004, 13h00

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