MYSQL-PHP获取特定单元格(字段)的值,并在PHP IF语句中使用它

时间:2016-11-12 03:19:08

标签: php mysql

我希望有人可以帮助解决这个问题。在学习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';
}

在此先感谢,欢迎任何想法/解决方案。

干杯

3 个答案:

答案 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';
}