[MySQL] query, blocked id negeren

Pagina: 1
Acties:

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Ik zit met het volgende probleem:

ik heb een tabel berichten met daarin een posterID en gebruikerID.

De poster is degene die het bericht plaatst en de gebruiker degene die het bericht ontvangt.

Nu heb ik een tabel "blocked" gemaakt met daarin een veld gebruikerID van alle gebruikers waarvan de berichten niet meer getoond mogen worden (in dit geval als posterID dus).

Nu probeer ik in mijn query slim die gebruikers te negeren, maar het lukt me alleen via 2 queries waarvan de ene een komma gescheiden lijst genereerd en in de 2e query die gebruikers met NOT IN (lijst) negeren.

Weet iemand of dit makkelijker kan?

Ik blijf er iig vrij nuchter onder....


Verwijderd

Ik kan me dit topic nog herinneren:
[rml][ SQL] Tegenovergestelde van een join[/rml] :)

  • Praetorian
  • Registratie: November 2001
  • Laatst online: 22-08 10:59
Kan je misschien posten welke query('s) je al had?

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Heb er nu dit van gebakken:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
SELECT
                 poster.gebruikersnaam as poster,
                 user.gebruikersnaam as gebruikersnaam,
                 berichten.bericht
FROM
                 berichten
LEFT JOIN
                 gebruikers as poster
ON
                 poster.id=berichten.posterID
LEFT JOIN
                 gebruikers as user
ON
                 user.id=berichten.gebruikersID
LEFT OUTER JOIN
                 blockedTekst
ON
                 blockedTekst.gebruikersID = poster.id
WHERE
                 berichten.gebruikersID=$id
AND
                 blockedTekst.gebruikersID IS NULL
ORDER BY
     berichten.datum DESC 
LIMIT
    $start,$max


En het werkt!

[ Voor 26% gewijzigd door maartenvdv737 op 15-04-2003 22:13 ]

Ik blijf er iig vrij nuchter onder....


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Waarom laat je die berichten nog staan, je kunt ze toch net zo goed verwijderen, of anders een update query over je table waarin je iets doet als:
code:
1
UPDATE berichten SET show=0 WHERE posterid=$posterid


Je laat dan alleen de berichten zien met show=1.