您好,我有三张表,一张用于用户,一张用于用户服务,一张用于服务
the Users table is (id, username, email, password)
和
The Services Table is (id, Servicename, Servicesdetails, price)
和
The userservices Table is (id, userid, serviceid, startdate, enddate)
当用户登录到他的仪表板时,他可以看到他拥有的所有服务。 和他没有的服务。 对于他提供的所有服务,我都使用了这个查询并且运行良好。
$mysql_servicesadded = "SELECT * FROM services INNER JOIN userservices ON userservices.serviceid = services.id WHERE userservices.userid = '".$user."' ORDER BY userservices.startdate DESC";
$query_servicesadded = $dblink->query($m$mysql_servicesadded) or die ("Cannot Get Services");
然后获取它并回显它 但是要获得用户没有的所有服务,我不知道要使用什么查询。 请任何帮助
最佳答案
使用外连接,它会选择你所有的服务
SELECT *
FROM services
LEFT OUTER JOIN userservices ON userservices.serviceid = services.id
WHERE userservices.userid = '".$user."'
ORDER BY userservices.startdate DESC";
如果您有来自 userservices
表的列的数据,则它与用户相关联。如果不这样做,则表示未连接。
然后您可以从 PHP 遍历并检查它们。
关于php - 如何选择查询的逆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17506960/