私のウェブサイトのリストビューを作成しようとしています。私はこれを作ろうとしたので、すべてのデータで長いリストのみを表示しました。SQLクエリのSQLクエリPHP
$conn = new mysqli($db_servername, $db_username, $db_password, $db_dbname);
if ($conn->connect_error) { }
$sql = "SELECT * FROM Home_Rooms";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "
<div class=\"container\"><hr></div>
<div class=\"container-fluid\">
<div class=\"row\">
<div class=\"col-sm-1\">
</div>
<div class=\"col-sm-10\">
<div class=\"panel-group\" id=\"accordion\">";
while($row = $result->fetch_assoc()) {
$room = $row["name"];
echo "
<div class=\"panel panel-info\">
<div class=\"panel-heading\">
<h4 class=\"panel-title\"><a data-toggle=\"collapse\" data-parent=\"#accordion\" href=\"#collapse" .$row["id"]."\">" .$row["name"]."</a></h4>
</div>
<div id=\"collapse" .$row["id"]."\" class=\"panel-collapse collapse\">
<div class=\"panel-body\">";
$conn = new mysqli($db_servername, $db_username, $db_password, $db_dbname);
if ($conn->connect_error) { }
$sql = "SELECT * FROM Home_Devices WHERE room='$room'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row_room = $result->fetch_assoc()) {
echo "
<div class=\"media\">
<div class=\"media-left\">
<img src=\"/image/pictures/" .$row_room["type"].".png\" class=\"media-object\" style=\"width:60px\">
</div>
<div class=\"media-body\">
<h4 class=\"media-heading\"><a href=\"/dashboard/" .$row_room["sensor_id"]."\">" .$row_room["room"]." - " .$row_room["name"]."</a></h4>
<p>Sensor ID: " .$row_room["sensor_id"]."</p>
</div>
</div>";
}
} else {
echo "<p>No devices found, you can add devices <a href=\"/settings\">here</a>.</p>";
}
echo"</div>
</div>
</div>";
}
echo "
</div>
</div>
</div>
</div>";
} else {
echo "<p>No rooms found, you can add rooms <a href=\"/settings\">here</a>.</p>";
}
$conn->close();
しかし、これはすべての部屋、最初の部屋だけを読み込んでいませんでした。誰かが私にこれを解決するのを助けることができますかこれも可能ですか、何か間違っていますか?
は、あなたは$結果を2回使用している... – Naruto
@Narutoだから私は、配列が異なるalleのを作る必要がありますか? –
@Vítekいいえ、私はページを読み込む際にエラーが発生するためです。 –