gpt4 book ai didi

PHP 检查 MySQL 变量

转载 作者:可可西里 更新时间:2023-11-01 08:29:12 26 4
gpt4 key购买 nike

我使用 php 将 mysql 数据插入到一个表中以呼应出一个漂亮的表。

我基本上是在提取游戏社区的禁令数据,当时间在表格中显示为 0 时,我希望它显示“永久”。我会为此使用 CASE 还是使用 if then?

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

$sql = "SELECT name, authid, length/3600, reason, aid FROM sb_bans ORDER BY `sb_bans`.`bid` DESC, `sb_bans`.`created` ASC, `sb_bans`.`ends` ASC LIMIT 100";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
echo "<table class='tftable' border='1'><tr><th>Username</th><th>Steam ID</th><th>Ban Time</th><th>Ban Reason</th><th>Admin</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["name"]."</td><td>".$row["authid"]."</td><td>".$row["length/3600"]." Hours</td><td>".$row["reason"]."</td><td>".$row["aid"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();

最佳答案

你可以像这样尝试使用CASE

SELECT
NAME,
authid,
CASE
WHEN (length / 3600) > 0 THEN
(length / 3600)
ELSE
'Permanent'
END AS time,
reason,
aid
FROM
sb_bans
ORDER BY
`sb_bans`.`bid` DESC,
`sb_bans`.`created` ASC,
`sb_bans`.`ends` ASC
LIMIT 100

对于表格数据

echo "<tr>
<td>".$row["name"]."</td>
<td>".$row["authid"]."</td>
<td>".$row["time"]." Hours</td> //Changed this line
<td>".$row["reason"]."</td>
<td>".$row["aid"]."</td>
</tr>";

第二种方式

也可以在不改变SQL的情况下通过PHP条件修复它

echo "<tr>
<td>".$row["name"]."</td>
<td>".$row["authid"]."</td>
<td>".($row["length/3600"] > 0 ? $row["length/3600"] : 'Permanent')." Hours</td>
<td>".$row["reason"]."</td>
<td>".$row["aid"]."</td>
</tr>";

关于PHP 检查 MySQL 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31633833/

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