Php sql , calcule

Résolu/Fermé
hind5charb Messages postés 12 Date d'inscription mercredi 3 août 2016 Statut Membre Dernière intervention 28 décembre 2016 - 12 août 2016 à 09:35
hind5charb Messages postés 12 Date d'inscription mercredi 3 août 2016 Statut Membre Dernière intervention 28 décembre 2016 - 12 août 2016 à 20:40
salut ,


y'a-t-il une solution ??? s'il vous plaît .
A voir également:

1 réponse

jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
12 août 2016 à 14:22
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.

0
hind5charb Messages postés 12 Date d'inscription mercredi 3 août 2016 Statut Membre Dernière intervention 28 décembre 2016
Modifié par jordane45 le 12/08/2016 à 16:19
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
0
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > hind5charb Messages postés 12 Date d'inscription mercredi 3 août 2016 Statut Membre Dernière intervention 28 décembre 2016
12 août 2016 à 16:24
Regarde 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.......)
0
hind5charb Messages postés 12 Date d'inscription mercredi 3 août 2016 Statut Membre Dernière intervention 28 décembre 2016 > jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
12 août 2016 à 20:40
salut ,
problème résolu ,
je vous remercie pour votre aide et votre temps .
0