|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre éprouvé
![]() |
Bonjour,
Je mets en place une fonction permettant à mes utilisateurs de visualiser les x derniers articles visités. Il me faut ces données en base. Je pense que le plus simple est de de faire une structure basique : ID CLIENT | IDs ARTICLES Dans ma colonne IDs ARTICLES avoir une chaine de type : #ID1#ID2#ID3#... 1/ Qu'en pensez vous ? 2/ Je pense limiter cette série aux 10 derniers ID articles visités : substr_count me permettra donc de savoir combien de # je dispose, sachant qu'il me servent de délimiteur, il faudrait donc que je supprime ce qui "dépasse" du 11eme # Je ne dois pas être réveillé ce matin mais je ne vois pas comment faire... Peut être que mon système est aussi bancale à la base ? Merci à vous. Bonne journée |
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Bonjour,
une solution parmi d'autres ... table T_CLIENT_ARTICLES : ID_client | ListIDs_articles Avec dans la colonne ListIDs_articles une chaine de type : ID1,ID2,ID3 Intérêt (des virgules) ? Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||
|
|
10
|
|
|
#3 | |
|
Membre éprouvé
![]() |
Merci à toi Jérôme.
Limites tu le nombre d'ID aussi ? je scotch sur : Citation:
|
|
|
|
00
|
|
|
#4 |
![]() ![]() |
Dans le principe :
0/ l'utilisateur visite un article -> on veux stocker l'ID_article dans la liste ListIDs_articles 1/ on vérifie que cet id n'y est pas déjà 2/ sinon, on l'ajoute AU DEBUT de la liste -> $ListIDs_articles = $ID_article.','.$ListIDs_articles; 3/ si la liste a plus de 10 éléments ("IDxx,"), on coupe "ce qui dépasse" à la fin On peut même envisager d'enregistrer la date de la visite pour chaque article : table T_CLIENT_ARTICLES : ID_client | ListIDs_articles | ListDate_visite -> colonne ListIDs_articles : ID3,ID2,ID1 -> colonne ListDate_visite : time3,time2,time1
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#5 |
|
Membre éprouvé
![]() |
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
Bonjour,
une autre solution qui me vient, tu rajoutes un champs last_visit dans ta table article ( que tu mets à jour à chaque visite) Et pour récupérer les X dernier, tu fais ton select order par ce champ avec une limit a X.
__________________
Tout énigme a une solution ! Tout est question de discipline ! |
|
|
00
|
|
|
#7 |
![]() ![]() |
@Bebel : sans vouloir te vexer, le pense que tu es hors-sujet.
Ce que tu proposes c'est "la last visit" de l'article (sans relation avec le client) Ici, c'est "les last visit" du client
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#8 | |
|
Membre éprouvé
![]() |
Merci Bebel.
En fait j'ai une "grosse" base clients / articles. Citation:
Il me semblait donc raisonnable de créer une table clientID | IDs |
|
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
Citation:
désolé je vais avoir besoin de vacances ![]() Bon pour revenir dans le sujet pour avoir les 10 derniers, tu peux faire un explode sur ta liste, ajouté le nouveau en début et garder uniquement le 10 premier. Même pourquoi pas supprimer l'id s'il existe déjà avant de le remettre au début, comme ça l'article se retrouve en 1ere position.
__________________
Tout énigme a une solution ! Tout est question de discipline ! |
|
|
|
00
|
|
|
#10 | |
|
Membre éprouvé
![]() |
Citation:
|
|
|
|
00
|
|
|
#11 | ||
|
Membre éprouvé
![]() |
Voilà en fait j'ai fait un bout de code qui ressemble à ca :
Code :
|
||
|
|
00
|
|
|
#12 | ||
![]() ![]() |
Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||
|
|
10
|
|
|
#13 |
|
Membre éprouvé
![]() |
Hehe NON !
Un GRAND merci. |
|
|
00
|
|
|
#14 | ||
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
Pour la dernière partie, j'aurais plus vu quelque chose comme ça
Code :
__________________
Tout énigme a une solution ! Tout est question de discipline ! |
||
|
|
10
|
|
|
#15 |
![]() ![]() |
C'est vrai qu'il existe des fonctions toute faite !
![]() Ton code est plus optimisé, élégant, et surtout ... moins "usine à gaz" ! J'ai tendance à ré-inventer le fil à couper l'eau tiède ! (j'ai encore beaucoup à apprendre sur la manipulation des array ... je manque de "vocabulaire" ...) [Edit] Oups ! je suis en train de tester ton code : il semble qu'il y ait une erreur ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
10
|
|
|
#16 |
|
Membre éprouvé
![]() |
Merci à vous deux.
Super, vraiment ! Bonne journée |
|
|
00
|
|
|
#17 | |
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
Citation:
C'est quoi l'erreur ?
__________________
Tout énigme a une solution ! Tout est question de discipline ! |
|
|
|
00
|
|
|
#18 |
![]() ![]() |
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#19 |
|
Membre éprouvé
![]() |
pitet ca
Code :
Warning: array_search() [offfunction.array-searchoff]: Wrong datatype for second argument |
|
|
00
|
|
|
#20 |
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
En effet j'ai inversé l'élément à rechercher et le tableau cf la documentation
__________________
Tout énigme a une solution ! Tout est question de discipline ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com