Php sql , calcule

Résolu
salut ,


y'a-t-il une solution ??? s'il vous plaît .

1 réponse

  1. Modérateur
    Bonjour

    Pour commencer... colle ton code directement sur le forum au lieu de nous en mettre une capture écran !
    (en utilisant les balises de code pour la coloration syntaxique....)

    Ensuite... explique Exactement ce que tu souhaites obtenir et si ton "calcul" doit se faire en requête ou par du code php.

    1. Bonjour ,

       $bdd=new PDO('mysql:host=localhost;dbname=bppro;charset=UTF8','root','');
      
      
      
             // la 1ere requête , retourne la 1ere somme ( les entres comptable de la caisse ) 
             $reponse=$bdd->query(' (select sum(total) as sumt from
             ( select ROUND(sum(montant),3) as total from opp where  nom_opp="ver" and date=(select date_format(now(),"%Y-%m-%d") )
             UNION
              select ROUND(sum(montant),3) as total from opp where  nom_opp="vdv" and date=(select date_format(now(),"%Y-%m-%d") )
              UNION
               select ROUND(sum(montant),3) as total from opp where  nom_opp="caie" and date=(select date_format(now(),"%Y-%m-%d") )
      
             ) t1 '); 
      
      
      
                //la 2eme requête , retourne la 2eme somme ( les sorties comptable de la caisse ) 
      
            $reponse1=$bdd->query(' (select sum(total) as sumt1 from
             ( select ROUND(sum(montant),3) as total from opp where  nom_opp="adv" and date=(select date_format(now(),"%Y-%m-%d") )
             UNION
              select ROUND(sum(montant),3) as total from opp where  nom_opp="csh" and date=(select date_format(now(),"%Y-%m-%d") )
              UNION
               select ROUND(sum(montant),3) as total from opp where  nom_opp="caid" and date=(select date_format(now(),"%Y-%m-%d") )
      
             ) t2 ');
      
      
      
      
                //la 3eme requête , retourne le solde veille 
             
              $reponse2=$bdd->query('select montant from opp where nom_opp="veille " and date=(select date_format(now(),"%Y-%m-%d")');
      
      
       while($donnees1=$reponse->fetch()&& $donnees2=$reponse1->fetch() && $donnees3=$reponse2->fetch() ){
      
      $a= ($donnees['sumt']+$donnees['sumt2']) - $donnees3['montant'];
      echo("$a");
      
      }
      

      ........................................................................................................

      quand j’exécute les 2 le premier requêtes sql en wamp , m'a donnes les résultats corrects , mais dans la page php il m'affiche ce msg

      Fatal error: Call to a member function fetch() on a non-object .

      merci de votre aide .

      EDIT : AJOUT DES BALISES DE CODE
    2. Modérateur
      @hind5charbRegarde ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
      et appliques en la méthode sur ton code pour essayer de determiner les erreurs.

      PS :
      Ceci :
      and date=(select date_format(now(),"%Y-%m-%d") )
      

      Doit plus simplement pouvoir s'écrire :
      and date= date_format(now(),"%Y-%m-%d") 
      


      PS2 : Si tes requêtes ne retournent qu'un seul résultat à chaque fois... ton WHILE n'a aucun interret ! (relis la réponse données dans une de tes précédentes discussions à ce sujet.......)
    3. @jordane45salut ,
      problème résolu ,
      je vous remercie pour votre aide et votre temps .