Php / sql

Résolu
Bonjour,

J'ai une requête qui me retourne plusieurs valeurs dont un prix unitaire ht. Je voudrais faire la somme de tout les prix unitaire ht que me renvoie cette requête mais je ne sais pas comment faire (sachant que je code en php).

Voila ma requête :
$query="SELECT b.colis, b.commande, b.rayon, b.lib, d.code_client, d.quantite, d.prix_unitaire_ht, b.support, d.ref_tva
				FROM b
				LEFT JOIN d ON b.ref_commandes_detail = d.ref
				LEFT JOIN c ON d.ref_commande = c.ref_parent
				WHERE c.numero_piece =".$num_piece;
		
$commandes_detail=valeur_requete($query); //valeur_requete permet d'obtenir le contenu de la requête
if ($commandes_detail) { 
$data_ligne[]=$commandes_detail;
$data_total['total_ht']+= ;            // ici que je veux récupérer la somme de tout les prix_unitaire_ht
$data_total['nb_articles']+= ;       // ici je veux compter le nombre d'article


Merci d'avance pour votre aide.
Configuration: Windows 7 / Firefox 3.6

4 réponses

  1. bonjour

    je pense qu'il faut inclure ça dans le select

    select sum(pu) as total_pu ... et la suite .... where ....
    ou pu est le nom de la colonne de la table
    1. stpp
      comment faire démarrer oracle, il me demande un login et mot de passe
  2. yep.....et tu peux meme mettre ca dans ta request de ta jointure (de souvenir ca marche super):

    SELECT b.colis, b.commande, b.rayon, b.lib, d.code_client, d.quantite, d.prix_unitaire_ht, b.support, d.ref_tva, sum(d.prix_unitaire)
    FROM
    1. Alors 'giheller' j'ai donc fait un SUM(prix_unitaire_ht) qui fonctionne très bien. Je n'ai pas mit de AS car ici je n'en ai pas besoin.
      Et 'amoi' j'ai préférer séparer les requêtes car je me sert des données à des endroits différents.

      Voila, merci à vous deux.
      1. Ou bien je fais ceci :

        $query="SELECT b.colis, b.commande, b.rayon, b.lib, d.code_client, d.quantite, d.prix_unitaire_ht, b.support, d.ref_tva
        	FROM b
        	LEFT JOIN d ON b.ref_commandes_detail = d.ref
        	LEFT JOIN c ON d.ref_commande = c.ref_parent
        	WHERE c.numero_piece =".$num_piece;
        
        $commandes_detail=valeur_requete($query);
        $data_total['total_ht']=0;
        $data_total['quantite']=0;
        foreach($commandes_detail as $detail) {
        	$data_total['total_ht']+=$detail['prix_unitaire_ht'];
        	$data_total['nb_articles']+=$detail['quantite'];
        }
        


        Et comme ca j'ai pas besoin d'ajouter de requête. Et je peux utiliser mes variables $data_total['total_ht'] et $data_total['quantite'] là où j'en ai besoin.