Derniers tutoriels :
Sondage :
Publicité
Derniers articles :
![]() |
[Résolu] [PHP] Besoin d'aide sur un script de gestion d'offres - Version imprimable +- Forums d'entraide informatique - Les forums de PCW (http://forum.pcinfo-web.com) +-- Forum : Forum Informatique (/forumdisplay.php?fid=39) +--- Forum : Internet - Navigation -Programmation - Scripts - Developpement (/forumdisplay.php?fid=8) +--- Discussion : [Résolu] [PHP] Besoin d'aide sur un script de gestion d'offres (/showthread.php?tid=5265) Pages : 1 2 |
[PHP] Besoin d'aide sur un script de gestion d'offres - Quentin - 01-01-2012 14:18 PM Salut tout le monde, Aujourd'hui je viens car j'ai besoin de votre aide en php (je suis pas très doué dans ce code). Voilà mon problème : J'ai une page "gestion.php" et dessus j'aimerais afficher l'offre du client en fonction de son id En effet j'ai une table "users" qui contient les clients et dedans une colonne "offre" qui contient le nom de l'offre Il faudrait que sur cette page j'arrive à afficher l'offre du client connecté. Ex : Je me connecte avec l'username Cyboulette sur la page j'obtiens l'offre que Cyboulette a. Je me connecte avec l'username Test sur la page j'obtiens l'offre que Test possède. Voici la structure : --
Et le code de ma page gestion.php : <?php
En espérant que vous puissiez m'aider RE: [PHP] Besoin d'aide sur un script de gestion d'offres - Troll - 01-01-2012 14:28 PM Salut Quentin, Le code PHP que tu utilises est le bon. Le problème ici est que, telle que ta base de données est conçue, tu ne peux stocker qu'une seule offre par client. Je m'explique : Premièrement, dans ta table "users" il manque une clé primaire. En règle général, il faut une clé primaire dans une table (sauf quelques très rares cas, compliqués à expliquer ici). En l'occurence, pour une table stockant les utilisateurs, la clé primaire sera logiquement l'identifiant de l'utilisateur car il est unique. Cependant, une clé primaire est "unique" elle ne peut pas avoir, pour deux lignes différentes de ta base de données, la même valeur. Ce qui implique de ne pas dupliquer les données, justement... et donc, de ne pouvoir avoir, avec ton schéma actuel, qu'une seule offre par client ! Ce qu'il faut faire c'est :
Dans cette table clients_offres tu auras :
La clé primaire sera cette fois la combinaison (client_id, offre_id) qui deviendra unique (sauf si un client peut avoir plusieurs fois la même offre, dans ce cas, ne le mets pas en clé primaire). Ensuite, pour avoir les offres pour un client donné, la requête deviendra : SELECT * FROM clients_offres WHERE client_id = $id
Et si tu veux récupérer les données de la table "offres" en même temps (pour avoir son nom par exemple) il faut faire une jointure : SELECT * FROM clients_offres JOIN offres ON (clients_offres.offre_id = offres.id)
RE: [PHP] Besoin d'aide sur un script de gestion d'offres - Quentin - 01-01-2012 14:56 PM Merci de ton aide mais ça ne marche pas ![]() J'ai fais exactement comme tu m'as dis, donc cela viens de mon code php Je le remets ici : <?php
J'obtiens : RE: [PHP] Besoin d'aide sur un script de gestion d'offres - Troll - 01-01-2012 15:37 PM C'est que ta requête plante ![]() Mets un "or die(mysql_error())" entre ton mysql_query() et le ";" Comme ça : mysql_query(blabla) or die(mysql_error());
RE: [PHP] Besoin d'aide sur un script de gestion d'offres - Quentin - 01-01-2012 16:03 PM J'obtiens maintenant : Unknown column 'offres.id' in 'on clause' ![]() RE: [PHP] Besoin d'aide sur un script de gestion d'offres - Troll - 01-01-2012 16:05 PM Est-ce que tu as bien créé une table qui s'appelle "offres" et qui contient une colonne "id" ? ^^ RE: [PHP] Besoin d'aide sur un script de gestion d'offres - Quentin - 01-01-2012 16:15 PM Ah non je l'avais appelé offre_id mais je viens de le changer en id mais ça n'affiche toujours pas le nom de l'offre ![]() RE: [PHP] Besoin d'aide sur un script de gestion d'offres - Troll - 01-01-2012 16:23 PM Ré-envoie la structure SQL de tes tables (les 3, maintenant que y'en a trois) et le code PHP que tu utilises pr afficher... RE: [PHP] Besoin d'aide sur un script de gestion d'offres - Quentin - 01-01-2012 16:29 PM Voilà les structures : -- Et pour afficher j'utilise : <?php
Maintenant ça m'affiche : 1 (Qui est le nom de l'offre 1) et 2 (Qui est le nom de l'offre 2), seulement que j'ai mis l'offre 1 au client 1 et l'offre 2 au client 2. Je me suis connecté sur le client 2 ça m'affiche la même chose :/
RE: [PHP] Besoin d'aide sur un script de gestion d'offres - Troll - 01-01-2012 16:43 PM C'est normal, tu n'as pas mis de WHERE client_id = '.$id à la fin de ta requête ![]() Donc tu affiches tout, sans restreindre au client actuellement connecté sur la page. ![]() |