gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 12:05:54 25 4
gpt4 key购买 nike

我的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com