我希望有人可以帮助解决这个问题。在学习PHP和MySQL的过程中向我迈进,所以请耐心等待。我有下表:
ID whid securitybatch radionumber userbatch status dateofentry 1 AAA 123456 1 5555555 Available 11/10/2016 9:20 2 BBB 123456 7 1234567 Available 11/10/2016 16:50 3 BBB 123456 6 6666666 Deployed 11/11/2016 7:43 4 XXX 123456 3 2222222 Deployed 11/11/2016 19:52 5 XXX 123456 4 1234567 Deployed 11/11/2016 20:03 6 AAA 123456 6 1111116 Deployed 11/11/2016 21:43 7 XXX 123456 2 2222222 Deployed 11/11/2016 21:52
我尝试获取突出显示的值并在IF语句中使用它,问题是我的具体要求。
用户1234567在表上有两个条目,最终还有更多,我想得到该用户的最新日期条目的状态列的值,如果有意义的话,是选择的那个。 .ive一直在努力和研究,但它击败了我...
$query = "SELECT status FROM radiodata WHERE userbatch='$user' AND MAX(dateofentry)";
$result = mysqli_query($dbc, $query);
所以我很乐意将'Deployed'这个值设为我认为的字符串并按如下方式使用:
if($result === 'Deployed') {
echo 'Not returned';
} else {
echo 'Returned';
}
在此先感谢,欢迎任何想法/解决方案。
干杯
答案 0 :(得分:1)
您可以通过dateofentry
订购查询只需添加
ORDER BY dateofentry DESC LIMIT 1
到查询结束时,它会按该列对其进行排序,然后LIMIT只会获得一个结果
答案 1 :(得分:1)
该查询的当前表单无效,将导致语法错误。
$query = "SELECT status FROM radiodata WHERE userbatch='$user' ORDER BY dateofentry DESC LIMIT 1";
$result = mysqli_query($dbc, $query);
你真的不应该像这样使用字符串连接,但是现在让我们把它放在一边。此查询现在将返回单行结果。
完成后,您仍然无法将其与以这种方式部署进行比较
$row = mysqli_fetch_array($result);
if ($row['status'] == 'Deployed') {
}
答案 2 :(得分:1)
您可以执行以下操作:
$query = "SELECT status FROM radiodata WHERE userbatch='$user' ORDER BY
dateofentry DESC LIMIT 1";
$result = mysqli_query($dbc, $query);
$row = mysqli_fetch_row($result);
if($row[0] == 'Deployed') {
echo 'Not returned';
} else {
echo 'Returned';
}