PHP:在打印输出之前更改SQL表的输出

时间:2018-06-10 10:38:47

标签: php mysql sql html5

我有一个初学者问题。我有以下代码访问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();
?>

3 个答案:

答案 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>";