我目前正在开发一个基本的Web应用程序(使用MySQL
和PHP
)。它的目标是让我和我的同事(以及在不同部门工作的人)找到,改变和安排工作轮班。我有两张桌子:
使用两个表中的userId
列来链接它们。
当用户查找不同的班次时,查询如下:
SELECT
s.date,
u.lastname,
s.shift_to_give,
s.seeked_shift,
s.notes,
s.insert_date
FROM
users AS u INNER JOIN shifts AS s
ON
u.userId = s.userId
WHERE
s.shift_to_give = '$shift_to_give'
AND
(*) u.office = (
SELECT
office
FROM
users
WHERE
employee_number = '$employee_number' )
AND
(**) s.status != '1'
AND
s.date='$date'
AND
(***) s.userId != (
SELECT
userId
FROM
users
WHERE
employee_number = '$employee_number' );
我想要处理的参数是:。
每个用户显然可以看到与自己办公室有关的轮班请求(员工编号已经与登录会话一起存储。
“状态”列是用于表示已处理的请求的标志
在搜索模式下,每个用户都看不到自己的请求。
有了这个陈述,即使我不应该这样做,我也有结果。
(if($r)
永远是真的)
我怎样才能让它正常工作?
在此查询之后,代码继续如下:
$ result = mysqli_query($ dbc,$ query);
if ($result) // If there are results
{
echo "There are x records found..";
mysqli_free_result($result);
mysqli_close($dbc);
}
else
{
echo "No results :-(";
}
如果我的查询有任何结果,则会正确显示(通过手动检查数据库)但它永远不会转到“else”语句,即使我查找不存在的内容......相反,我看到一个空白页面。 有什么建议? 同时,感谢到目前为止的回复: - )