我有一个初学者问题。我有以下代码访问SQL表但在我打印出来之前(有效)我想检查表中的“Zustand”是否为0或1,该函数应该只更改打印到f.e. 1 =好0 =坏。这甚至可能还是我必须更改我的SQL表?
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT Nr, Name, Zustand FROM Verbraucher";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>Nr</th><th>Name</th><th>Zustand</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["Nr"]. "</td><td>" . $row["Name"]. "</td><td>" . $row["Zustand"]. "</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
答案 0 :(得分:0)
您可以更改查询并使用此查询:
SELECT Nr, Name, IF(Zustand = 0, "bad", "good") AS Zustand FROM Verbraucher
答案 1 :(得分:0)
相对简单,只需替换
. $row["Zustand"] .
与
. ($row["Zustand"] == 1 ? "good" : "bad") .
用符号表示?和:是if / else语句的简写
答案 2 :(得分:0)
是的,有可能,
在while
循环内,添加if
块,如下所示
if($row["Zustand"]==1)
echo "<tr><td>" . $row["Nr"]. "</td><td>" . $row["Name"]. "</td><td>" ."good". "</td></tr>";
else
echo "<tr><td>" . $row["Nr"]. "</td><td>" . $row["Name"]. "</td><td>" . "bad". "</td></tr>";