Een voor mij erg gevanceerde Query...
Ik kom er maar niet uit...

<?php
$db = mysql_query("SELECT *,DATE_FORMAT(tijd,'%d-%m-%Y %H:%i') AS tijd FROM berichten WHERE to='$speler->login' OR to='Iedereen' AND gelezen=0 AND inbox=1 ORDER BY tijd DESC");
while($message = mysql_fetch_object($db)) { // Hier de rest
?>

De bedoeling:
Hij moet alle berichten selecteren van nieuw naar oud die nog niet gelezen zijn
en in de inbox (dus niet outbox) staan. Maar het gaat fout bij de 'Iedereen'. De bedoeling
van dit script is dat, als ik een bericht verstuur naar alle gebruikers, er niet 100 dezelfde berichten met een verschillende ontvanger in de DB komen te staan. Daarom worden de berichten aan 'Iedereen' ook in de inbox geshowt, maar dit gebeurt helaas niet.
Als ik de berichten selecteer die alleen aan de speler ($speler->login) zijn geadresseerd uit de DB pluk, werkt het wel, bij dat OR gaat het fout.

What 2 do?

Bij voorbaat dank,
Mvg,
Ricolo
SELECT 
	*,
	DATE_FORMAT(tijd,'%d-%m-%Y %H:%i') AS tijd 
FROM 
	berichten 
WHERE 
	(to='$speler->login' OR to='Iedereen')
AND 
	gelezen=0 
AND 
	inbox=1 
ORDER BY 
	tijd DESC

Misschien dat bovenstaand werkt. Anders zal het toch aan iets liggen met de waardes van gelezen of inbox.
Super, dat werkt.

Bedankt PHPerik. En de rest.

Reageren