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 :

Update et ordre de priorité [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Par défaut Update et ordre de priorité
    Bonjour ,

    Aujourd'hui , je réalise 2 update sur une même table l'un à la suite de l'autre.
    Le premier me permet d'agir sur les prix de vente de mes articles ; et le second met à jour les frais de port en fonction des nouveaux prix de vente .

    Toutefois , je m'interroge ...

    Si je fais un seul update , du style :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    update shop_monnaies set prix_ttc=(prix_ttc*0.1),port=case( ...);
    Est-ce que l'update va faire baisser les prix de 10% du champ prix_ttc puis mettre à jour le champ port ?

    HAbroc

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Par défaut
    Si je comprends bien ta question, faire 1 seule requête SQL pour update plusieurs champs d'une table, c'est ca???
    Si c'est le cas oui tu peux le faire sans problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "UPDATE `news` SET titre='%s', lien='%s', type='%s', ordre='%d', lang='%s', source='%s' WHERE id='%d'";
    $sql = sprintf($sql, FormatSQL($titre), FormatSQL($lien), FormatSQL($type), FormatSQL($ordre), FormatSQL($lang), FormatSQL($source), FormatSQL($id));

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Par défaut
    Ok désolé je n'ai répondu qu'a la moitié
    Pas encore bien réveillé, tu dois ressortir ta valeur avant de la traiter et la renvoyer...
    tu ne peux pas agir directement sur la valeur d'un champs sans le passer en variable...

  4. #4
    Membre éclairé
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Par défaut
    Effectivement , j'ai bien compris que je pouvais updater 2 champs d'une même table en même temps. Ce que je ne sais pas en revanche , c'est si le fait de le faire en même temps , c'est pareil que le faire l'un après l'autre .

    Je m'explique => exemple :

    J'ai un champ pour les prix : shop_prix avec par exemple la valeur 10 pour l'id 5 avec des frais de port de 5 dans le champ shop_port .

    Si je fais un update sur la table pour le champ prix ; mon prix passe bien à 9.
    Je fais ensuite un update sur le champ port et ...si j'ai défini que pour un prix compris entre 9.50 et 7.5 le champ port prend la valeur 3.5 , mon champ port prendra effectivement la valeur 3.50 dans mon exemple .

    Mais , qu'en est-il si je fais les 2 update en même temps ? L'update des frais de port se fera t-il sur un prix de 10 ou de 9 ? That is the question ...

  5. #5
    Membre éclairé
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Par défaut
    Désolé Ze Azar , le pemps que je tape , je n'avais pas vu ta réponse ...

    Donc d'après toi , il me faut bien 2 update l'un après l'autre ...

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Par défaut
    Moi j'aurai fait un select, et ensuite 1 update...:
    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
    17
    $sql = "SELECT prix_ttc FROM shop_monnaies WHERE id='10';";
    $result	=	mysql_query($query) or die($query . " - " . mysql_error());
    $object	=	mysql_fetch_object($result);
     
    $prix = $object->prix_ttc;
    $prix = $prix*0,1 ;
     
    if ( $prix > 7.5 && $prix < 9.5 ){
    	$port = 3.5;
    }
    else {
    	$port = 5;
    }
     
    $sql = "UPDATE shop_monnaies SET prix_ttc='%d' ,port='%d';" ;
    $sql = sprintf($sql , mysql_real_escape_string($prix), mysql_real_escape_string($port));
    $result	=	mysql_query($query) or die($query . " - " . mysql_error());
    ps: oui j'aime bien décomposer au maximum et encore la j'ai été soft

  7. #7
    Membre éclairé
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Par défaut
    Merci beaucoup , c'est beaucoup plus clair pour moi .

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

Discussions similaires

  1. ordre de priorité des proriétés avec multi css ?
    Par clavier12AZQSWX dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 31/03/2011, 14h15
  2. Réponses: 15
    Dernier message: 18/06/2010, 15h37
  3. [T-SQL] Update par ordre croissant
    Par Arnaud F. dans le forum Langage SQL
    Réponses: 8
    Dernier message: 09/11/2009, 11h17
  4. Ordre de priorité dans les fonctions gtk
    Par kenshi240683 dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 23/05/2008, 16h12
  5. [SQL] ordre de priorité (AND, OR) dans une condition if
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/06/2006, 21h12

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