Problème d'affichage de résultat dans un tableau php
Résolu/FerméAstolpho Messages postés 73 Date d'inscription vendredi 8 avril 2022 Statut Membre Dernière intervention 12 juin 2024 - 17 déc. 2022 à 19:15
- La sélection courante ne contient pas de colonne unique. les grilles d'édition, les cases à cocher ainsi que les liens éditer, copier et supprimer ne sont pas disponibles.
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Trier un tableau excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
7 réponses
16 déc. 2022 à 18:03
Bonjour,
Commence par tester ta requête DIRECTEMENT dans ta BDD via, par exemple, PHPMYADMIN.
Montre nous ce que ça t'affiche et vérifie si cela correspond à tes attentes...
A noter que, ensuite, dans le php, seuls les champs présents dans la partie SELECT de ta requête ne peuvent être utilisés dans le code...
Modifié le 16 déc. 2022 à 18:21
ça me donne les messages ci-dessous :
La sélection courante ne contient pas de colonne unique. Les grilles d'édition, les cases à cocher ainsi que les liens Éditer, Copier et Supprimer ne sont pas disponibles.
Warning: #1287 'GROUP BY with ASC/DESC' is deprecated and will be removed in a future release. Please use GROUP BY ... ORDER BY ... ASC/DESC instead
Le champs pour le nom de l'utilisateur (fullname) est bien dans le select.
16 déc. 2022 à 18:41
Tu vois bien que ta requête ne retourne pas le résultat escompté et d'ailleurs dans le tableau qui s'affiche tu vois bien qu'il n'y a pas non plus le nom de l'utilisateur...
16 déc. 2022 à 18:48
J'ai le même résulat que dans mon tableau, justement je cherche à savoir pourquoi.
16 déc. 2022 à 19:13
Pour le nom du client, c'est bon, je viens de me rendre compte de mon erreur.
16 déc. 2022 à 19:03
J'ai ajouté :
WHERE a.nfacture=b.nfacture
J'ai les bon résultat par contre je ne vois que les 2 lignes ou il y a un paiement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question16 déc. 2022 à 19:28
C'est bon j'ai trouvé c'est comme ci-dessous maintenant, les résultats attendu sont les bon.
SELECT a.nfacture, a.prixtotal, customers, b.paid FROM (SELECT invoices.invoice as nfacture, SUM(price) as prixtotal, customers.fullname as customers FROM invoices LEFT JOIN customers ON (invoices.id_customers=customers.id_customers) LEFT JOIN services ON (invoices.invoice=services.invoice) LEFT JOIN items ON (services.id_items=items.id_items) LEFT JOIN states ON (invoices.invoice=states.invoice) WHERE states.type = 1 AND states.state = 1 GROUP BY nfacture ) as a, (SELECT invoices.invoice as nfacture, SUM(amount) as paid FROM invoices LEFT JOIN payments ON (invoices.invoice=payments.invoice) GROUP BY nfacture DESC) as b WHERE a.nfacture=b.nfacture GROUP by nfacture DESC
16 déc. 2022 à 20:41
Par contre, dans la partie SELECT de ta requête tu n'as toujours pas mis le fullname.
Modifié le 17 déc. 2022 à 15:59
Bonjour jordane45,
j'ai mis le fullname sur la ligne 3 en "7"
customers.fullname as customers
17 déc. 2022 à 18:21
Oui.... mais si tu ne le mets pas dans le SELECT "principal" de ta ligne 1 ..... il ne sera pas utilisable dans le code php ensuite..
Il suffit de voir le résultat que tu obtiens dans phpmyadmin pour te rendre compte des colonnes qui seront ensuite présentes dans ton code php...
17 déc. 2022 à 19:15
C'est bon c'est fait.
Merci