comment faire une somme directement dans la BDD mysql ? - PHP - Programmation
Marsh Posté le 17-05-2003 à 18:40:07
euh
select a,b,a+b as c from t;
Marsh Posté le 17-05-2003 à 18:51:38
bah, oui ... ça a l'air évident apparemment, mais pour moi, j'ai besoin d'un peu plus détail là !
ne serait-ce que le type à déclarer pourla colonne(int, varchar ... ??) et ensuite tout le cheminement à suivre pour arriver à écrire ta ligne au bon endroit ... tu vois un peu où j'en suis comme ça !!
Marsh Posté le 17-05-2003 à 18:54:10
ben pourquoi veux-tu STOCKER la somme?
tu l'affiches quand tu fais une requete sur cette table, c'est tout.
pour un exemple, tu vas dans phpmyadmin, tu cliques sur "sql", et tu tapes ce que je t'ai mis en remplaçant "a" et "b" par les noms des colonnes que tu veux additionner et "t" par le nom de la table.
si ça marche pas essaie comme ça
SELECT a,b,sum(a,b) FROM t
Marsh Posté le 17-05-2003 à 19:05:24
je veux la stocker parce-que je veux pouvoir classer les lignes en fonction du nb de point total ...
sinon, ce que tu me dis d'écrire, c'est à écrire dans la page en php, pas dans la bdd ?
Marsh Posté le 17-05-2003 à 19:06:55
oui c'est une *Requete sql*
mais tu peux la tester dans phpmyadmin pour voir si c'est ce que tu veux
et tu peux tres bien trier les resultats de ta requetes en fonction de ça
select a,b from t order by sum(a,b)
par exemple
Marsh Posté le 17-05-2003 à 19:41:26
bon ben j'arrive pô :
je suis dans phpadmin, j'ai ma colonne "total" qui est configurée en TEXT, pour chaque ligne, je mets "SUM" dans la colonne fonction, et je mets a,b, ou (a,b) ou ... (je remplace a et b par les noms de colonnes quand même hein !) et cela ne veut pas me donner ma somme dans ma dernière colonne. Et je m'obstine à vouloir stocker ce résultat !!
Marsh Posté le 17-05-2003 à 19:57:39
Dans ca cas, c'est plutot une requete de mise à jour
UPDATE table SET total = a+b;
Et tu enregistres la somme dans la colonne total au moment de l'ajout de lignes.
Mais je vois pas l'intérêt, ca pose pas de problème de faire la somme au moment du SELECT
Marsh Posté le 17-05-2003 à 22:01:08
mrBebert a écrit : Dans ca cas, c'est plutot une requete de mise à jour |
hummm ...
conversion de type nan ? t'as une colonne text dans laquelle tu veux foutre un select sum() (...);
un select sum ça retournerait pas un entier ou un double ?
Marsh Posté le 17-05-2003 à 22:04:52
paranoidandroid a écrit : hummm ... |
On a pas idée aussi de stocker un entier dans une colonne text
Du char ou varchar, encore, j'aurais pu comprendre, mais pas du text
Marsh Posté le 18-05-2003 à 00:20:37
mrBebert a écrit : |
je crois qu'il a pas compris en fait
Marsh Posté le 18-05-2003 à 00:23:11
bien, je suis enfin parvenu à mes fins, ave cun SELECT dans la page et non dans la bdd.
autre (petit) pb : je souhaite classer ma base par la colonne "total". je le fais, et je veux afficher toutes les lignes classées de la sorte. Et ben avec les qq lgnes suivantes, j'ai ce que je veux, sauf que je n'ai jamais la 1ere ligne de a base :
$requete = "SELECT nom,a,b,a+b as total FROM table order by total desc";
$result = mysql_query($requete);
$article = mysql_fetch_object($result);
while ($article = mysql_fetch_object($result))
{
echo $article -> nom;
}
qu'est-ce qu'il manque pour qu'il m'affiche la 1ere ligne ??
Marsh Posté le 18-05-2003 à 00:26:52
c'est plutot "qu'est-ce que j'ai mal recopié parce que j'ai pas compris..."
$requete = "SELECT nom,a,b,a+b as total FROM table order by total desc";
$result = mysql_query($requete);
while ($article = mysql_fetch_object($result)) {
echo $article -> nom;
}
devrait mieux marcher
Marsh Posté le 18-05-2003 à 00:36:05
eh oh, ça va les sarcasmes !! effectivement, j'ai mal recopié, mais j'ai pas de formation en php moi, je suis pas vraiment dans la prog à la base, c'est pour ça que j'ai un peu de mal sur des conneries ...
Et effectivement, cela marche mieux ainsi !
MErci bcp !!
Marsh Posté le 18-05-2003 à 00:36:57
jibet a écrit : eh oh, ça va les sarcasmes !! effectivement, j'ai mal recopié, mais j'ai pas de formation en php moi, je suis pas vraiment dans la prog à la base, c'est pour ça que j'ai un peu de mal sur des conneries ... |
tu crois que j'ai une formation en PHP et que je suis dans la prog à la base ?
Marsh Posté le 18-05-2003 à 00:37:20
fo un début à tout
mais essaie de comprendre ce que fais chaque instruction, ça aide
Marsh Posté le 18-05-2003 à 00:37:35
joce a écrit : tu crois que j'ai une formation en PHP et que je suis dans la prog à la base ? |
non et on voit le résultat
Marsh Posté le 18-05-2003 à 00:47:57
ReplyMarsh Posté le 18-05-2003 à 00:54:14
ReplyMarsh Posté le 18-05-2003 à 00:57:31
joce a écrit : oui, moi ca me dérange pas |
utilise un vrai browser alors
Marsh Posté le 17-05-2003 à 18:29:14
Salut,
j'ai dans une base de données plusieurs colonnes de nombres, et je souhaiterai avoir dans la dernière colonne de ma bdd, la somme de tous les nombres des autres colonnes de la même ligne ...
est-il possible d'avoir cela directement dans phpmyadmin, en paramettrant les colonnes comme il faut ?
merci
jibet