我想创建一个表的数据从mysql,但有一些例外。更确切地说,我有:
$data = mysql_query("SELECT `id` FROM `dates` WHERE `user`='x'");
$exceptions = mysql_query("SELECT `id` FROM `exceptions` WHERE `user`='x'");
我想写这样的东西:
for($j=1; $date = mysql_fetch_object($data); $j++)
但是我不想从data中获得行,从$exceptions中获得相同的id,例如:
if($data->id == $exceptions->id) return null;
如果$data中有1 2 3 4 5 $exceptions中有4,我想只返回1 2 3 5行
您只需要查询一次:
SELECT id FROM dates WHERE user = 'x' AND id NOT IN (SELECT id FROM exceptions WHERE user = 'x'))
也有多种方法来编写该查询。您应该始终只检索您需要的数据。