如果' if'如何从SQL列中获取所有值?声明是对的?以下是我的意思:
TABLE:
|__ID__|__MadeBy__|__Username__|__Completed__|
| 1 | user1 | user14 | TrueYes |
| 2 | user7 | user14 | TrueYes |
| 3 | NONE | user18 | FalseNo |
| 4 | user25 | user1234 | TrueYes |
| 5 | NONE | user1234 | FalseNo |
我想要的是循环完成已完成'列,如果有值,则显示 FalseNo ,然后从SAME行打印其他值,但不打印所有列。
示例:
如果已完成值= FalseNo ,则从同一行打印 ID 和用户名。
由于已完成列中有更多行包含 FalseNo 值,因此也会显示它们。
示例:
程序打印:
ID: 3
Username: user18
ID: 5
Username: user1234
我尝试做的是:
<?php
//Coinflips Table
#Select the completed column
$selectCompleted = $mysqli->query("SELECT * FROM coinflips WHERE completed='FalseNo'");
#Get the row associated with the value
$getJoinableList = $selectCompleted->fetch_array(MYSQLI_ASSOC);
#Get the row's value of a column
$getJoinableBetCompleted = $getJoinableList['completed'];
$getJoinableBetID = $getJoinableList['id'];
$getJoinableBetUsername = $getJoinableList['username'];
if($getJoinableBetCompleted == "FalseNo") {
echo "ID:" . $getJoinableBetID;
echo "Username" . $getJoinableBetUsername;
}
?>
但这只会让网站崩溃。
提前谢谢Laurynas:)
答案 0 :(得分:0)
两件事:
您需要使用foreach遍历结果集 - 您正在尝试访问该行,并且您实际上正在访问整个结果集。如果只有一行你可以逃脱...... [0],但听起来就像你在多行之后。 例如:
foreach ($resultSet as $row) {
... now you can access the individual row & its columns, e.g. $row['column-name'] ...
}
检查你的专栏名称/ /包括案例/ - 我每次都被这个名字搞定。
答案 1 :(得分:0)
正如Laurynas所说,你必须循环查询中的每一行才能做你想做的事。
您可以运行以下可行的代码:
# Create your select query
$query = "SELECT * FROM coinflips WHERE completed='FalseNo'";
# Execute your query
$resultset = $mysqli->query($query);
# Check if an error ocurred
if (!$resultset) {
die("Error: " . $mysqli->error);
}
foreach ($resultset as $user) {
//$completed = $user['completed'];
$id = $user['id'];
$username = $user['username'];
# Removed because your query is doing this already
// if ($completed == "FalseNo") {
echo "ID: " . $id;
echo "<br>";
echo "Username: " . $username;
echo "<br>";
// }
}