EchoFool Posted June 12, 2008 Share Posted June 12, 2008 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 More sharing options...
fenway Posted June 13, 2008 Share Posted June 13, 2008 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.