如何在 php 重述版本中应用三种类型的条件
How to apply Three type of conditions in php rephrased version
这是我改写的问题版本:
我有两个带有状态字段的表,设置为禁用和启用。
我想获得这两个条件并根据结果抛出另一个查询。
但是当我比较结果时,我得到的是空白页。
下面是我正在使用的代码。
$sqltable1 = "select * from table1 ";
$result=$conn->query($sqltable1);
while($row = $result->fetch_assoc()) {
echo "row: " . $row["status"]. "<br>";
}
$sqltable2 = "select * from table2";
$result=$conn->query($sqltable2);
while($row1 = $result->fetch_assoc()) {
echo "row1: " . $row1["status"]. "<br>";
}
if ( $row["status"] == "enabled" && $row1["status"]== "disabled" ) {
echo "condition 1 is enabled"
}
elseif ( $row["status"] == "disabled" && $row1["status"]== "enabled" ) {
echo "condition 2 is enabled"
}
elseif ( $row["status"] == "enabled" && $row1["status"]== "enabled" ) {
echo "both conditions are enabled"
}
elseif ( $row["status"] == "disabled" && $row1["status"]== "disabled" ) {
echo "both conditions are disabled"
}
如果你们能给我提供不同的逻辑来实现这一点,那同样很棒。
问题:
比较结果不起作用。并显示空白页面以进行比较。我需要比较条件才能工作,以便我可以进一步编写代码。
注意:不是答案。但是它不适合评论。 显然是一个真正的答案。只是一种处理可能成为地狱的方法:
$sqltable1 = "SELECT * FROM table1";
$result = $conn->query($sqltable1);
$row = $result->fetch_assoc());
$sqltable2 = "SELECT * FROM table2";
$result = $conn->query($sqltable2);
$row1 = $result->fetch_assoc());
$condition = $row["status"] == "enabled" ? 10 : 0;
$condition += $row1["status"] == "enabled" ? 1 : 0;
switch($condition) {
// 1 disabled, 2 disabled
case 00:
// Code
break;
// 1 disabled, 2 enabled
case 01:
// Code
break;
// 1 enabled, 2 disabled
case 10:
// Code
break;
// 1 enabled, 2 enabled
case 11:
// Code
break;
}
这是我改写的问题版本:
我有两个带有状态字段的表,设置为禁用和启用。
我想获得这两个条件并根据结果抛出另一个查询。
但是当我比较结果时,我得到的是空白页。
下面是我正在使用的代码。
$sqltable1 = "select * from table1 ";
$result=$conn->query($sqltable1);
while($row = $result->fetch_assoc()) {
echo "row: " . $row["status"]. "<br>";
}
$sqltable2 = "select * from table2";
$result=$conn->query($sqltable2);
while($row1 = $result->fetch_assoc()) {
echo "row1: " . $row1["status"]. "<br>";
}
if ( $row["status"] == "enabled" && $row1["status"]== "disabled" ) {
echo "condition 1 is enabled"
}
elseif ( $row["status"] == "disabled" && $row1["status"]== "enabled" ) {
echo "condition 2 is enabled"
}
elseif ( $row["status"] == "enabled" && $row1["status"]== "enabled" ) {
echo "both conditions are enabled"
}
elseif ( $row["status"] == "disabled" && $row1["status"]== "disabled" ) {
echo "both conditions are disabled"
}
如果你们能给我提供不同的逻辑来实现这一点,那同样很棒。
问题: 比较结果不起作用。并显示空白页面以进行比较。我需要比较条件才能工作,以便我可以进一步编写代码。
注意:不是答案。但是它不适合评论。 显然是一个真正的答案。只是一种处理可能成为地狱的方法:
$sqltable1 = "SELECT * FROM table1";
$result = $conn->query($sqltable1);
$row = $result->fetch_assoc());
$sqltable2 = "SELECT * FROM table2";
$result = $conn->query($sqltable2);
$row1 = $result->fetch_assoc());
$condition = $row["status"] == "enabled" ? 10 : 0;
$condition += $row1["status"] == "enabled" ? 1 : 0;
switch($condition) {
// 1 disabled, 2 disabled
case 00:
// Code
break;
// 1 disabled, 2 enabled
case 01:
// Code
break;
// 1 enabled, 2 disabled
case 10:
// Code
break;
// 1 enabled, 2 enabled
case 11:
// Code
break;
}