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


MYSQL-PHP Get value of a specific cell(field) and use it in PHP IF statement

我希望任何人都能帮助解决这个问题。提醒我在学习PHP和MySQL的过程中,所以请原谅我。我有以下表格:

<>之前ID同时securitybatch radionnumber userbatch status dateofentry1 AAA 123456 1 5555555 2016年11月10日9:20可用2 BBB 1234567 1234567 11/10/2016 16:50可用3 BBB 123456 6 6666666部署时间:11/11/2016 7:434 XXX 123456 3 2222222部署时间:11/11/2016 19:525 XXX 123456 4 1234567部署时间:2016年11月11日20:036 AAA 123456 6 1111116部署时间:11/11/2016 21:437 XXX 123456 2 2222222部署日期:11/11/2016 21:52之前

我试图得到突出显示的值,并在IF语句中使用它,问题是我的具体要求。

用户1234567在表上有两个条目,最终有更多,我想获得该用户的最新日期条目的状态列的值,如果这有意义的话…我一直在尝试和研究,但它打击我…

$query = "SELECT status FROM radiodata WHERE userbatch='$user' AND    MAX(dateofentry)";
$result = mysqli_query($dbc, $query);     

所以我想得到的值'部署'一个字符串,我假设和使用它如下:

if($result === 'Deployed') {
    echo 'Not returned';
} else {
    echo 'Returned';
}

提前感谢,欢迎提出任何想法/解决方案。

欢呼

当前形式的查询是无效的,会导致语法错误。

$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') {
}

您可以根据您的dateofentry来排序查询

just add

ORDER BY dateofentry DESC LIMIT 1

放到查询的末尾它会按列排序然后LIMIT只会给你一个结果

您可以这样做:

$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';
}