Page 1 sur 1

Problème affichage requête SQL

Posté : 14 sept. 2015, 12:23
par orell1
Bonjour à tous,

J'essaie désespérément de calculer un coût entre 2 tables sql...
Mon calcul se fait mais ne prends pas en considération tous les champs en fonction de mon WHERE

Voici mon PHP :
$conn = db_connect();
        $sql = "SELECT * FROM ".ESTIMATION_REVENUS." WHERE num_opportunite = '".$row['num_opportunite']."'";
        //ECHO $sql;
        $result = mysql_query($sql, $conn);
        while ($rech_r_global = @mysql_fetch_array($result)) {

                 $total_r = $rech_r_global['total_revenus'];
                
        }
$addition_gagne = $total_r + $row['total_revenus'];
et MA BASE :
--
-- Contenu de la table `crm_prol_estimation_revenus`
--

INSERT INTO `crm_prol_estimation_revenus` (`id`, `num_client`, `num_opportunite`, `q1`, `q2`, `q3`, `q4`, `total_revenus`, `debut`, `fin`, `num_form`) VALUES

(92, 10513, 876, 0, 0, 0, 11618, 11618, 2015, 2016, 0),
(93, 10513, 876, 5418, 5418, 5418, 0, 16254, 2015, 2016, 1);
En fait je n'arrive pas à faire : total = addition du total_revenus de chaque ligne.

Avez-vous une idée de comment faire ?
Merci par avance.

Re: Problème affichage requête SQL

Posté : 14 sept. 2015, 14:04
par ynx
Salut,
Effectivement tu affectes uniquement le montant total_revenu à chaque tour de boucle. Si tu veux calculer le total comme ceci, tu dois incrémenter la variable $total_r à chaque tour de boucle :
$result = mysql_query($sql, $conn);
        $total_r = 0;
        while ($rech_r_global = @mysql_fetch_array($result)) {
                 $total_r += $rech_r_global['total_revenus'];
        }
Une autre façon plus simple serait d'utiliser la fonction sql SUM() pour récupérer directement la somme de ta colonne, par exemple :
$sql = "SELECT SUM(total_revenus) FROM ".ESTIMATION_REVENUS." WHERE num_opportunite = '".$row['num_opportunite']."'";
Bonne journée

Re: Problème affichage requête SQL

Posté : 14 sept. 2015, 14:46
par orell1
Excellent!
C'est exactement ça!!!!

Merci beaucoup!
Bonne journée.