|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 41 ![]() |
Bonjour à tous,
Voilà, je souhaiterai afficher les pages consultées (rubriques) par des membres lors de leur visite ; ceci dans un tableau, qui listerait les pages consultées par membre. Pour cela j'ai créé une requête : Code :
Code :
Je suis coincé et n'arrive pas à avancer sur ce pb. Quelqu'un pourrait-il m'aider ?
|
||||
|
|
00
|
|
|
#2 | ||
|
Membre éprouvé
![]() Guillaume Développeur Web Inscription : décembre 2007 Messages : 353 ![]() |
Je ne suis pas bien sûr de ma réponse car je ne suis pas bien sûr de la compréhension du problème mais...
Code sql :
???
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi. - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
|
||
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 41 ![]() |
Ce n'est pas très clair en effet.
Le résultat (normal) de la requête retourne autant de lignes que de pages consultées (rubrique), en répétant systématiquement le nom du membre. Je souhaiterai regrouper le résultat pour qu'il y ait une ligne par membre, et dans cette ligne, une liste des pages consultées. |
|
|
00
|
|
|
#4 | |
|
Membre éprouvé
![]() Guillaume Développeur Web Inscription : décembre 2007 Messages : 353 ![]() |
Le plus simple serait je pense de tester l'id utilisateur.
En algo ça donnerait un truc du genre: (oui, en algo car là j'ai le cerveau en compote :/) Citation:
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi. - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
|
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 41 ![]() |
Merci pour ton aide,
en fait, je ne vois pas comment insérer cette condition au milieu de la boucle. Je vais faire des recherches, si quelqu'un a une idée, merci par avance. |
|
|
00
|
|
|
#6 | ||
|
Membre actif
![]() Inscription : décembre 2006 Messages : 184 ![]() |
ta requete n'est pas correcte si tu cherche a avoir les rubriques ton "from" doit pointer sur ta table rubrique moi je ferai cette requete
Code :
si DISTINCT ne marche pas comme il faut essai avec GROUP BY sur plusieurs champs |
||
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 41 ![]() |
Bonjour et Merci pour ton aide.
J'ai modifié la requête, et ai fait plusieurs essais de GROUP BY, mais rien à faire, ma requête retourne autant de lignes que de pages consultées, sans grouper par membre, ce que je voudrais au final. |
|
|
00
|
|
|
#8 | ||
|
Membre actif
![]() Inscription : décembre 2006 Messages : 184 ![]() |
je crois avoir compris tu veux la dernière rubrique pour chaque membre.
si c'est le cas ca devrai être un truc du genre Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 41 ![]() |
Merci encore pour ton aide,
La requête semble fonctionner très bien. Ce qui ne colle pas, c'est l'affichage. En fait je voudrais que l'affichage dans mon tableau soit comme cela : Citation:
Citation:
|
||
|
|
00
|
|
|
#10 | ||
|
Membre éprouvé
![]() Guillaume Développeur Web Inscription : décembre 2007 Messages : 353 ![]() |
Et sinon plus simple:
Faire une requête qui récupère les membres. Un foreach sur les membres et dans celui ci faire une requete qui récupère l'historique. Code :
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi. - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
|
||
|
00
|
|
|
#11 | ||
|
Membre actif
![]() Inscription : décembre 2006 Messages : 184 ![]() |
essai ceci
Code :
|
||
|
|
10
|
|
|
#12 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 41 ![]() |
Désolé, j'ai en fait, un pb technique sur le site sur lequel je bosse.
L'hébergeur a changé, cette nuit, le site de serveur, sans me donner la nouvelle adresse... Donc toutes les modifs que je faisais ne changeaient rien à rien, et j'avais l'impression de tomber dingue !! ![]() Je ne vais pas pouvoir faire l'essai avant d'avoir cette nouvelle adresse de serveur, et ne pourrai pas vous répondre avant demain je pense. Mille mercis pour votre aide, je reviens au plus vite. |
|
|
00
|
|
|
#13 |
|
Membre actif
![]() Inscription : décembre 2006 Messages : 184 ![]() |
hum, tu travaille sur le serveur de prod!!!
en général on utilise un serveur de test pour valider les modifications en plus pour les site en php/mysql tu a le choix dans des serveurs clé en main comme xampp lamp easyphp etc... sans compter la galère pour tester ton code modif upload test alors quand local tu supprime le upload d'ou un gain en productivité |
|
|
00
|
|
|
#14 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 41 ![]() |
Bonjour à tous,
Tu as parfaitement raison, pour un gain de productivité, pas terrible ; mais là, je travaille sur la partie admin, qui n'est visible que par une personne, donc sans conséquences s'il y a des bugs, et surtout je voulais avoir accès à la base de données pour mes tests. Encore merci mille fois pour ton code. Je pense qu'on y est presque : il faut retirer le GROUP BY (qu'il faudrait placer avant le HAVING semble-t-il, sinon fatal error, mais il ne sert à rien apparemment), et pour la liste des pages, j'ai une liste de points, ce qui suggèrerait que les éléments sont bien là, mais ne s'affichent pas correctement. J'essaie d'analyser ton code (la construction du tableau, méthode que je ne connaissais pas), et j'avoue ne pas savoir quoi changer, ça me parait pourtant cohérent ; si ce n'est cette ligne, que pour l'instant je n'ai pas trop compris : Code :
$rubriques[$pseudo]['pages'][] = $row; |
|
|
00
|
|
|
#15 | ||
|
Membre actif
![]() Inscription : décembre 2006 Messages : 184 ![]() |
Code :
le premier noeud [$pseudo] c'est pour regrouper les données selon le pseudo apres il y a 3 branches ['pages'] regroupe les lignes des rubriques correspondant au pseudo ['contact_prenom'] le prenom du contact ['contact_nom'] le nom du contact donc quand on boucle sur le premier noeud on a facilement les 3 données, les 2 noeud ['contact_prenom'] et ['contact_nom'] ne sont pas réellement nécessaire puisque qu'on les retrouvera dans ['pages'][0]['contact_prenom'] et ['pages'][0]['contact_nom'] mais ca simplifie l'exploitation pour finir dans $rubriques[$pseudo]['pages'] tu retrouve toute les lignes de la requete correspondant au $pseudo ainsi on ne perd pas de données Code :
$rubriques[$pseudo]['pages'][] = $row; affiche le tableau résultat tu comprendra mieux Code :
echo '<pre>'.print_r($rubriques, true).'</pre>'; Code :
$list.='<li>'.$rubrique['pages'][i]['nom'].'</li>'; |
||
|
|
10
|
|
|
#16 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 41 ![]() |
Merci beaucoup pour les explications, je comprends mieux.
Lorsque je fais le print_r, tous les éléments s'affichent bien. En revanche, dans l'affichage de mon tableau, je n'ai que les puces et pas les noms des fameuses pages consultées. |
|
|
00
|
|
|
#17 |
|
Membre actif
![]() Inscription : décembre 2006 Messages : 184 ![]() |
copie/colle le print de ton tableau $rubriques que je vois ce qu'il y a dedans
|
|
|
00
|
|
|
#18 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 41 ![]() |
Bonjour à tous,
Ci-dessous le print_r (un extrait : 1er contact, 2 pages visitées) : Code php :
|
||
|
|
00
|
|
|
#19 | ||
|
Membre actif
![]() Inscription : décembre 2006 Messages : 184 ![]() |
j'avais dit que l'erreur venait de cette ligne, j'avais oublié le $ devant le i
Code :
|
||
|
|
10
|
|
|
#20 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2008 Messages : 41 ![]() |
C'est trop génial
![]() je n'aurais jamais pensé à mettre un $ devant le i, pourtant je tournais le pb dans tous les sens... Merci mille fois ! et j'ai appris plusieurs trucs ! Très bon week end ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com