php - 如何使用 PHP 回显具有条件语句的变量?

标签 php mysql

我的 PHP 代码现在遇到了一些问题。首先,我有一个 MySQL 数据库,其中存储了一些数据,我正在检索该数据并使用 PHP 将其显示在页面上。这是代码,以便我可以更好地描述我的问题:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_database";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM sample";
$result = $conn->query($sql);

if ($result->num_rows > 0) {


 // output data of each row
 while($row = $result->fetch_assoc()) {
     echo "<span class='infoTitle'>Now:</span>".$row["now"]."<br>".
"<span class='infoTitle'>Status:</span> ".$row["status"]."<br>";

if (trim($row["now"] == 1)) {echo "Yes";} if(trim($row["now"] == 0)) {echo "";}
if ($row["status"] == 3) {echo "Open";} if($row["status"] == 2) {echo "Closed";}

}

}


 else {
     echo '<h2 class="noInfo">Whoops! Looks like there is currently no information available.</h2>';
}

$conn->close();
?>  

所以我遇到的问题是条件语句。我在 php 页面中隐藏了输入,该信息来自该页面,它将把隐藏字段的值输入到 MySQL 中。所以我的浏览器中当前显示的代码是这样的:

Now: 1
Status: 3
YesOpen

但我想让它做的是这个

Now: Yes
Status: Open

最佳答案

您的代码中几乎没有错误:

  • trim($row["now"] == 1) - 应该是 trim($row["now"]) == 1 等等(否则您对 bool 值执行修剪,因为将首先评估 $row["now"] == 1)
  • echo 在循环开始时被调用,然后检查并显示“status”和“now”,它对第一次回显没有影响,因为在下一次迭代中会读取新行并将未格式化的值放入“第一个回显”

只需将 while 循环更改为类似的内容即可:

while ($row = $result->fetch_assoc()) {
    if (intval($row["now"]) == 1) {
        $now = "Yes";
    } else {
        $now = "";
    } 

    if ($row["status"] == 3) {
        $status = "Open";
    } else if($row["status"] == 2) {
        $status = "Closed";
    } else {
        $status = '';
    }

    echo "<span class='infoTitle'>Now:</span>".$now."<br><span class='infoTitle'>Status:</span> ".$status."<br>";
}

那就应该没问题了。

关于php - 如何使用 PHP 回显具有条件语句的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31494264/

相关文章:

php - 将数组保存到数据库中

php - 在 mysql_query() 函数中执行多查询

mysql - INSERT 然后 SELECT 插入的行

php - 无法使用 root 用户登录 phpmyadmin

php - 无法正确读取 csv(制表符分隔)

php - 第一个0消失了?

php - 使用 strpos 从字符串中查找坏词

php - 使用$_GET向数据库插入数据注意事项?

mysql - 如何限制数据库表中的 HTML/Javascript 插入 Laravel 5.2

php - 基于相同关键字显示结果的 SQL 查询