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

PHP & Base de données Discussion :

[SQL] select en fonction de 2 tables


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Par défaut [SQL] select en fonction de 2 tables
    Bonjour,
    Je vous expliqe je que j'aimerai faire.
    J'ai une table images qui contient les noms des images que j'ai uploadé.
    elle est comme cela : id | nom
    Et j'ai une table visites qui est comme cela : id | ip | image

    En fait j'ai une page sur mon site qui affiche une image aléatoirement, avec un bouton qui permet d'actualiser la page et donc de changer de d'image.

    Mais je voudrai n'affiché que les images que le visiteur n'a pas encore vu.
    a chaque fois q'une image est affiché, on enregistre l'ip et le nom de l'image pour ne pas l'affiché par la suite.

    Mais je ne sais pas comment faire pour faire un select dans la base de donnée pour n'affiché qu'une image de la table images qui n'ont pas encore été vu par le visiteur qui est dans la table visites.

    J'espere que j'ai été assez explicite.
    Quelqu'un pourrai me donner un peu d'aide ou quelqu'un indication?

    Merci beaucoup

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    Select id from image where id not in (select id from visite where ip = l'ip du visiteur)

    quelque chose de ce genre me semble t'il

  3. #3
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Je pencherais pour cette solution mais je ne l'ai pas testée...


    VISITEUR (ip)
    IMAGE (id, nom)
    AVOIR_VU (id#,ip#)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select I.id
    from IMAGE I
    where I.id not in
    	(select AV.id
    	 from AVOIR_VU AV, VISITEUR V
    	 where V.ip= AV.ip
    	)
    ;
    Un visiteur peut n'avoir vu aucune image ou en avoir vu plusieures.
    Une image peut n'avoir été vu par aucun ou par plusieurs.

    Donc création d'une association AVOIR_VU qui permet de regrouper les clés primaires des deux entités VISITEUR et IMAGE.

    Par contre, je signale que le résultat de cette requête SQL peut ressortir plusieurs résultats (à toi de récupérer un enregistrement après... c'est tout simple ) mais le résultat peut être zéro...
    Si l'utilisateur a déjà vu toutes les images.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Par défaut
    Je testerai cela demain ou ce week end.
    Merci beaucoup a vous 2 de vos réponses.

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Mais de rien
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

Discussions similaires

  1. SQL select en fonction de 2 criteres
    Par dbzes59113 dans le forum Requêtes
    Réponses: 1
    Dernier message: 08/02/2010, 10h36
  2. Réponses: 6
    Dernier message: 23/05/2008, 15h03
  3. [SQL] select en fonction d'une autre table
    Par rduvrac dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/03/2008, 13h45
  4. [SQL] selection en fonction d'un comparaison de date
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/09/2006, 23h38
  5. [SQL]Select dans une table d'une autre base de données
    Par Didouille dans le forum Access
    Réponses: 3
    Dernier message: 21/12/2005, 09h00

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