Calcul de solde (correction d'une ligne)
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pouvez-vous m'aider à corriger cette requête s'il vous plait ?
Pouvez-vous m'aider à corriger cette requête s'il vous plait ?
$usersolde = MySql::getConnection()->query("SELECT id, SUM(debit - credit) AS solder FROM comptes WHERE id = '".intval($_SESSION['id'])."'")->fetch();
<?php echo htmlentities($usersolde['solder']); ?>
4 réponses
-
Salut,
Euh avant de la corriger faudrait savoir à quoi elle sert, quel résultat tu veux, quelle erreur as-tu (si tu en as) -
Il n'y a pas d'erreur, la requête doit afficher le solde qui est le résultat du débit - credit, deux champs de la base de données mysql dont l'id est égale au client choisis.
Mon bout de code est le suivant :$files = MySql::getConnection()->query("SELECT * FROM comptes WHERE id_user = '".intval($_SESSION['id'])."' ORDER BY date_jour DESC")->fetch(); $userinfo = MySql::getConnection()->query("SELECT * FROM utilisateurs WHERE id = '".intval($_SESSION['id'])."'")->fetch(); $usersolde = MySql::getConnection()->query("SELECT id, SUM(debit - credit) AS solder FROM comptes WHERE id = '".intval($_SESSION['id'])."'")->fetch(); $err = false; $msg = "";
Je recupère le résultat pour le solde avec :<?php echo htmlentities($usersolde['solder']); ?>
Mais le calcul est faux... voilà mon problème. -
"Debit" et "credit" sont des champs de la table "comptes" de type double.
Si je dois croire l'affichage des éléments du tableau concernant le nom du client et les valeurs du tableau, ils sont justes.
http://alifat-ci.com/comptes/index.php
user : ahmed
pass: ahmed -
Non ça c'est une note
(note: débit - credit)
débit = ce qu'ils ont payés
credit = ce qu'ils doivent)
Doit avoir -129112 pour le compte Ahmed
Le résultat que j'obtiens avec la requête est 105000 au lieu de -129112, soit le dernier enregistrement du tableau.
Il y a bien une erreur...