IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Gestion d'un site d'annonces (connectés, affichage des catégories)


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 151
    Points
    151
    Par défaut Gestion d'un site d'annonces (connectés, affichage des catégories)
    salut
    je suis entrain de realiser un site des annonces et je demande votre aide.

    l'utilisateur peut choisir une ville pour chaque annonce alors j'ai fais une table ville qui contient les champs id_ville, nom_ville, cp. et dans la table annonce j'ai ajouter le champ id_ville .
    est ce que c'est une bonne metode ??

    la bdd contient les tables :categorie et sous_categorie ....
    je veux afficher la liste des categorie et sous_categorie ainsi que le nombre de connecté dans chaqcune pour cela j'ai fait une table connecte(id_membre, d_categorie, id_sous_categorie), et grace a une variable session qui contient id_categorie et une autre qui contient id_sous_categorie et qu'elles vont etre ajouter a la table connecte je peux connaitre sur quelle categorie et sous_categorie l'utilisateure navigue.
    voici mon problème
    si l'utilisateur se deconnecte son enregistrement va etre retiré de la table connecte. mais s'il ferme le navigateur, comment detruire la session et suprimer l'enregistrement de la table connecte.

    merci et @+
    Ubuntu 8.04 LTS Hardy

  2. #2
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    Citation Envoyé par H-bil
    l'utilisateur peut choisir une ville pour chaque annonce alors j'ai fais une table ville qui contient les champs id_ville, nom_ville, cp. et dans la table annonce j'ai ajouter le champ id_ville .
    est ce que c'est une bonne metode ??
    Salut.
    Si je comprend bien, une ville est identifiée de manière unique par un id_ville. Il existe une relation entre ville et annonce de type 1-->n
    * 1 annonce correspond à une et une seule ville,
    * 1 ville donnée peut "disposer" de plusieurs annonces.
    Dans ce cas, la méthode que tu utilises est une solution répondant au problème : le champ id_ville de la table annonce est une clé étrangère.
    Ca veut dire par exemple que si tu supprimes une ville de ton système, il faudra supprimer les annonces correspondant à cette ville.

    Citation Envoyé par H-bil
    voici mon problème
    si l'utilisateur se deconnecte son enregistrement va etre retiré de la table connecte. mais s'il ferme le navigateur, comment detruire la session et suprimer l'enregistrement de la table connecte.
    C'est un problème fréquent ! En effet, si l'utilisateur ferme sa fenêtre, le serveur ne le sait pas et ne peut pas mettre à jour la BD.
    Dans ce cas, on utilise un timeout (un délai) au delà duquel on efface la session.
    Par exemple, sur la page où tu affiches tes informations, tu vérifie d'abord toutes les sessions qui n'ont pas ue d'activité depuis un certain temps (timeout=10 minutes, 1 heure, etc ... à choisir) et tu les effaces de ta table connecte.

    Voilà, désolé pour la longueur.
    J'espère que j'ai répondu à tes questions.
    a+

  3. #3
    Membre habitué Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 151
    Points
    151
    Par défaut
    merci
    =>pouvez-vous me dire coment sa marche le timeout() ou me donner un lien vers un tuto
    =>comment chercher les session inactives ??
    @+
    Ubuntu 8.04 LTS Hardy

  4. #4
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    Salut,
    en fait, il existe 2 type de timeout :

    1) Le timeout du serveur web, que tu ne peux en général pas changer si tu es hébergé en mutualisé (voir http://php.developpez.com/faq/?page=...sions_dureevie pour plus de détails)

    2) Un timeout "maison" dont je parlais dans mon message précédent.
    Tu nous dit que tu as une table connecte, qui contient pour un utilisateur donné la catégorie qu'il est en train de visualiser. C'est une information que tu mets à jour à chaque fois qu'il change de catégorie (j'imagine).
    Il te suffit alors de stocker également la date et l'heure de l'action.
    Quelque chose comme : le 15/05/2006 à 13h32, l'user n°35 à visualisé la catégorie n°541.
    Et avant d'afficher tes statistiques (23 utilisateurs parcourent actuellement la catégorie "Bidule"), tu effaces les données de la table connecte qui qu'ont pas eu d'action depuis un certain temps (timeout).

    Exemple : tu choisis un timeout de 10 minutes.
    Un utilisateur X se connecte à 13h40 sur ton site, il verra 1 personne dans la catégorie n°35.
    Un utilisateur Y se connecte à 13h43 sur ton site, il ne verra personne dans la catégorie n°35 parce que la visualisation de la page à cette heure aura effacé toutes les données antérieures à 13h33.
    J'espère avoir été clair.
    a+

  5. #5
    Membre habitué Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 151
    Points
    151
    Par défaut
    Merci c'est un ptit peu clair,
    je vais continuer la recherche sur ce theme surtout le timeout
    Ubuntu 8.04 LTS Hardy

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/02/2014, 14h31
  2. [OL-2007] Pb d'affichage des catégories dans le calendrier
    Par Laurent54 dans le forum Outlook
    Réponses: 0
    Dernier message: 30/11/2010, 15h54
  3. [Joomla!] Affichage des catégories dans un tableau
    Par jeromeG dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 26/02/2010, 14h05
  4. [MySQL] Affichage des catégories et sous catégories
    Par onirisme dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/10/2007, 10h24
  5. gestion de l'affichage des composants
    Par Foub dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 25/08/2005, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo