msi79
Messages postés509Date d'inscriptionlundi 24 août 2009StatutMembreDernière intervention 2 mai 2023
-
9 août 2017 à 22:38
msi79
Messages postés509Date d'inscriptionlundi 24 août 2009StatutMembreDernière intervention 2 mai 2023
-
10 août 2017 à 23:08
Bonjour,
je voudrais afficher les dépenses faites par une entreprise. EXemple facture CIE, SALAIRE, FACTURE INTERNET etc.
les dépenses sont enregistrées chaque mois dans la base de données.
j'arrive a afficher mas pas comme je voudrais.
voici comment je voudrais que mon tableau soit :
voici mon tableau que j'ai obtenu qui loin de mes attentes.
Comment faire pour faire apparaitre les mois ?
Commet afficher les totaux??
Les mois doivent entre dans l'ordre . Janvier , février , mars ect
voici mon code pour récupérer les données dans un tableau.
jordane45
Messages postés37532Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 5 juin 2023341 9 août 2017 à 23:56
Msi....
Une bonne foie pour toutes.....
Si ta question concerne un souci de requête... tu postes dans le forum SQL ....
Mais si ta question concerne le PHP à proprement parlé (ce qui semble être le cas ici....) tu postes dans le forum PHP !
Vas tu enfin comprendre ???!!!!
Ensuite... qu'utilises tu pour te connecter à ta bdd ? PDO ou MYSQLI ?
Car ton code n'est vraiment pas bon....
En PDO on utilise des blocs TRY/CATCH pour trapper les erreurs... et en MYSQLI on utilise un IF
Dans les deux cas... l'instruction
mysql_error()
n'a rien à faire ici !
Si tu es en PDO ... on n'utilise par le rowCount() pour connaitre le nombre de lignes retournées par une requête... regarde la doc !
Bref...
Avant d'essayer de comprendre ton souci.. je te demanderai de remettre au propre ton code....
Si la dernière requête SQL exécutée par l'objet PDOStatement associé est une requête de type SELECT, quelques bases de données retourneront le nombre de lignes retournées par cette requête. Néanmoins, ce comportement n'est pas garanti pour toutes les bases de données
A la place...
Tu peux faire un FETCHALL sur le résultat de ta requête pour tout mettre dans un array directement ... puis remplacer le rowcount par un COUNT de cette variable
Il est également conseillé d'utiliser les requêtes préparées au lieu de ->query
Comme ceci :
// on crée la requête SQL
$sql = "SELECT D.*
,TD.*
,IFNULL(TD.montant,0)
FROM depenses D
,tbdepenses TD
WHERE D.id = TD.idDp
AND TD.promo = :promo ";
$a_datas = array(':promo'=>$promo);
// on envoie la requête
try{
$req = $pdo->prepare($sql);
$req->execute($a_datas);
$resultat = $req->fetchAll();
}catch(PDOException $e){
echo "ERREUR DE REQUETE : " . $sql . ' error : '.$e->getMessage();
}
//echo $sql;
$n_nbre = !empty($resultat) ? count($resultat) : 0;
Ensuite... pour ce qui est de ta question initiale .. à quelle endroit initialises tu les en-têtes de colonnes ?? (les mois )
Le plus simple serait de les mettre dans un Array.. puis de boucler dessus pour générer ton header.
Cet Array servira également pour savoir à quel endroit tu dois écrire les données de ta requête.
jordane45
Messages postés37532Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 5 juin 2023341
>
jordane45
Messages postés37532Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 5 juin 2023 10 août 2017 à 10:41
msi79
Messages postés509Date d'inscriptionlundi 24 août 2009StatutMembreDernière intervention 2 mai 20231 10 août 2017 à 12:00
Bonjour jordane45 , merci pour ton aide.
Effectivement j'ai du me tromper en mettant le sujet des SQL. je m'en excuse.
Avec toi j'apprends beaucoup.
En ce que est de :
Ensuite... pour ce qui est de ta question initiale .. à quelle endroit initialises tu les en-têtes de colonnes ?? (les mois )
Le plus simple serait de les mettre dans un Array.. puis de boucler dessus pour générer ton header.
Cet Array servira également pour savoir à quel endroit tu dois écrire les données de ta requête.
vraiment je sais même pas par ou commencer c'est un de tes codes j'ai essayé d'adapter et je m'en sort pas . donc s'il te plait aide moi.