Jump to content

help with query


EchoFool

Recommended Posts

I have two tables

like so:

Usereventtable (in this case has no rows)

UserID | EventID | Complete |

 

and

eventtable (has one row)

EventID | ActivateUrl | Other random fields unrelated to this

  1          bleh.php          etc        etc            etc

 

 

What i am trying to do is, collect all the rows which are found in eventtable but no in usereventtable related to a userID and then pick a random row from that select.

 

How ever it should be finding one row as I purposely put a dummy row in to make sure it works but my mysql_num_rows says it is not finding any row.

 

 

My code:

<?php
$Find = mysql_query("SELECT eventtable.EventID FROM eventtable,usereventtable WHERE eventtable.ActivateUrl='$Url' AND eventtable.EventID != usereventtable.EventID AND usereventtable.UserID='{$_SESSION['Current_User']}' ORDER BY RAND() LIMIT 1")
Or die(mysql_error());
If(mysql_num_rows($Find)<1){
Echo 'failure, check query';
}Else{
Echo 'woo!!';
}
?>

 

 

What have I done wrong?

Link to comment
https://forums.phpfreaks.com/topic/109969-help-with-query/
Share on other sites

You want:

SELECT eventtable.EventID 
FROM eventtable
LEFT JOIN usereventtable ON ( eventtable.EventID = usereventtable.EventID AND usereventtable.UserID='{$_SESSION['Current_User']}' )
WHERE eventtable.ActivateUrl='$Url' AND usereventtable.EventID IS NULL ORDER BY RAND() LIMIT 1

Link to comment
https://forums.phpfreaks.com/topic/109969-help-with-query/#findComment-564763
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.