bonjour
je me remets aux bases de données. il y a 15 ans je travaillais beaucoup avec dbase3+
là sur un site j'ai besoin de requêtes mysql
J'ai un champ S1 numérique dans la table tarif et je voudrais remplacer tous les prix de ce champ s1 dans tous les enregistrements de la base par 0.00
quelle serait la requête si j'ai un formulaire où le champ zero coché la variable $zero est affirmative
en dbase3+ d'ashton tate c'était
Citation
use tarif
if $zero
repl all S1 with 0.00
endi
D'autre part pour remplacer ce champ par sa valeur augmentée d'un pourcentage
dans le champ "pourcent" on a mis 10 la variable $pourcen est égale à 10
quelle est la requête pour remplacer tous les champs S1 par 110% arrondi à 2 chiffres après la virgule
en dbase c'était
Citation
use tarif
if $pourcent <>0
repl all S1 with (int(S1*(100+$pourcent))/100
endi
au fait où peut-on trouver un récapitulatif clair des requêtes possibles à inclure dans une page php ?
UPDATE table SET champ=[une valeur/un calcul] (WHERE...)
Ca c'est la forme générale d'une requête SQL pour remplacer la vlaeur d'un champ.
Pour ta condition $zero, ça doit se faire dans le PHP, pas directement dans la requête.
Pour faire les requête, le plus simple (je pense) est d'utiliser PDO. Mateo21 en parle dans son tutorial php/mySQL, je te laisse jeter un oeil.
Enfin, pour les différentes requêtes, tu peux utiliser toutes les requêtes SQL que tu pourrais imaginer. Un petit tutoriel bien fait : http://www.w3schools.com/sql/default.asp
on n'augmente pas souvent d'un pourcentage rond comme 10 mais souvent d'un chiffre avec décimales
je voulais juste connaitre le code pour avoir un chiffre entier dans ce cas c'était int et
dans (int(champ*(100+$pourcent)))/100
si tu augmente de 1.9% par exemple
et que la valeur du champ soit de 92.23
tu as besoin du résultat de 92.23*101.9% avec 2 décimales
mais si tu n'utilise pas la formule avec l'entier tu aura
93.98237
alors que
l'entier de 92.23*101.9 est 9398
et 9398/100=93.98
et normalement même si tu n'affiche que 2 chiffres, il y en a plus et ça créé de mauvais résultats lors des opérations ultérieures.
lors des additions de plusieurs champs par exemple
C'est une façon d'obtenir un arrondi . S'il y en a d'autre, je suis preneuse
quelqu'un a-t-il le code mysql correspondant
merci d'avance
Fran
merci je n'avais pas compris que ça s'arrondissait automatiquement aux 2 décimales
j'ai créé une table appellée essai s'appelant table avec un champs numérique calcul decimal 10,2
j'y ai inséré 3 enregistrements
quand j'écris la requête
UPDATE 'essai' SET calcul=calcul*105,24%
UPDATE 'essai' SET calcul=calcul*105%
UPDATE 'essai' SET calcul=calcul*105.24%
j'ai des messages d'erreur de syntaxe. j'ai fait des google-recherches je ne trouve pas la bonne syntaxe
j'ai aussi mis le calcul de pourcentage entre (), [] item les messages d'erreur
impossible de trouver le bon site qui m'indique les syntaxe de calcul lambda
merci d'avance
Fran
Ta syntaxe d'UPDATE est à revoir. On n'utilise jamais des guillemets pour entourer le nom de la table et surtout, ton SGBDR ne peut pas deviner ce que tu veux dire par "105,24%". Tu dois l'écrire en décimal et utiliser le point pour séparer tes décimales de la partie entière. La requête devrait ressembler à ceci :
UPDATE essai
SET calcul = 1.0524*calcul;
requête mysql
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tutoriel complet MySQL !