PHP: Récuperation d'un calcul MySQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHP: Récuperation d'un calcul MySQL

Re: PHP: Récuperation d'un calcul MySQL

par mctarek » 10 oct. 2010, 09:52

Une réponse aussi rapide, bravo!
Je vais essayer ta solution.
Je viens de trouver une autre solution avec foreach(), sans doute moins élégante: quelle fierté :-)
$sql = "SELECT SUM(credit) FROM {$_POST['compte']}  WHERE date BETWEEN '{$_POST['date1']}' AND '{$_POST['date2']}'";
//envoi de la requête pour calcul créditeur
$requete = mysql_query ($sql,$id_connex);
while($leTableau = mysql_fetch_assoc($requete))
{
 // Affichage des valeurs du tableau
foreach($leTableau as $cle => $valeur) 
{ 
echo 'du ', $_POST['date1'], ' au ', $_POST['date2'], '<br/>';
echo 'crédit: ', '+', round($valeur,2) , '€', '<br/>';
}
}
Et ça fonctionne ausi bien avec SUM(debit) que SUM(debit-credit)
Débutant, mais ça avance doucement...Merci à tous!

Re: PHP: Récuperation d'un calcul MySQL

par Cyrano » 10 oct. 2010, 09:33

Utilise des alias :
SELECT SUM( debit ) AS somme_debit 
FROM `banque` 
WHERE `date` BETWEEN '2010-01-01' AND '2010-06-01';
SELECT SUM( credit - debit ) AS solde 
FROM `banque` 
WHERE `date` BETWEEN '2010-01-01' AND '2010-06-01';
Comme ça, tu récupère l'alias comme nom de colonne, « somme_debit » pour la première, « solde » pour la seconde.

PHP: Récuperation d'un calcul MySQL

par mctarek » 10 oct. 2010, 08:15

Bonjour. Après des heures de recherches, je reviens vers vous pour mon problème.
Je sais interagir avec PHP et MySQL pour récupérer des données suite aux requêtes.
Mais dernièrement, j'ai découvert la fonction MySQL SUM() pour obtenir la somme
des données d'une colonne. Exemples :
SELECT SUM( debit ) FROM `banque` WHERE `date` BETWEEN '2010-01-01' AND '2010-06-01'
SELECT SUM( credit - debit ) FROM `banque` WHERE `date` BETWEEN '2010-01-01' AND '2010-06-01'
Et MySQL répond parfaitement en donnant la somme des données.
Mais comment récupérer cette somme via PHP sachant que les fonctions mysql_fetch_assoc($requete) ou mysql_fetch_array($requete,MYSQL_ASSOC)
s'attendent à récupérer toutes les données d'une colonne?
Merci de votre réponse.
Tarek