JOINTURES MYSQL - Besoin d'aide

Résolu
borish78 Messages postés 4 Statut Membre -  
borish78 Messages postés 4 Statut Membre -
Bonjour à tous,
Alors voilà, sachez avant tout que j'ai trouvé plusieurs sujets qui traités de problèmes similaires mais je n'ai pas réussi à faire ce que je souhaitais avec. Donc je me tourne vers vous ;) Merci

Alors, je suis entrain de créer une petite visionneuse toute simple en PHP et mon soucis se situe au niveau de mes paramètres de sélection (SELECT avec MySQL bien-sûr).

Je vous explique rapidement, j'ai trois tables :

PAGES : ID, PAGENAME, USERID // (2500 entrées)
USERS : ID, USERNAME // (2000 entrées)
VISUAL : ID, ID_USER, ID_PAGE // (500 entrées)

Chaque fois qu'un membre visualise une page, j'insère son "ID" et "l'ID de la page" visualisée dans la table "VISUAL".
Jusqu'ici tout va bien ;) Mais là ou sa se gatte, c'est quand je dois sélectionner la page à afficher.

Je réussi à sélectionner les pages en excluant celles ajoutées par le membre,
mais je n'arrive pas à exclure celles qui ont déjà été visualisée par ce même membre(celles qui sont présentent dans la table "Visual").

Voici ma requête :

$userid = 'id_utilisateur_courant';

$sql = "
SELECT 
page.ID, page.PAGENAME, page.USERID
FROM 
#__pages page
WHERE 
page.USERID NOT IN ($userid)
";



En espérant avoir été clair et en espérant vous avoir apporté toutes les infos nécessaires,
Merci d'avance ;)

1 réponse

  1. gardiendelanuit Messages postés 1772 Date d'inscription   Statut Membre Dernière intervention   267
     
    $sql = "
    SELECT
    page.ID, page.PAGENAME, page.USERID
    FROM
    #__pages page
    INNER JOIN
    visual V ON page.USERID = V.ID_USER
    WHERE
    page.USERID NOT IN ($userid) AND page.USERID NOT IN V.ID_USER
    ";

    A vérifier.
    0
    1. borish78 Messages postés 4 Statut Membre
       
      Bonjour,
      je teste cela de suite.
      Merci pour votre réponse
      0
    2. borish78 Messages postés 4 Statut Membre
       
      Ne marche pas (problème dans la requête) :(

      Warning: Invalid argument supplied for foreach() in [...]

      Auriez-vous une idée ?
      Merci
      0
    3. gardiendelanuit Messages postés 1772 Date d'inscription   Statut Membre Dernière intervention   267
       
      Ça viendrait plutôt de ton script PHP cette erreur non?
      0
    4. borish78 Messages postés 4 Statut Membre
       
      En fait c'est bon je viens de trouver :

      SELECT 
      	P.ID, P.USERID, 
      FROM 
      	#__pages P 
      WHERE 
              P.USERID NOT IN ($userid)
      	AND P.ID NOT IN (SELECT V.PAGEID FROM VISUAL V WHERE V.USERID=$userid)
      


      ;) Merci pour ton aide
      0