想要将搜索结果从数据库输出到html表中,但是我得到的只是一个打印数组。可以肯定的是,这是由于“ print_r”引起的,但是我该如何输出到html表而不是仅仅显示第一个结果呢?
我的html表使用数据库中的数据可以正常工作-但我只是在没有用户输入的情况下使用“ SELECT *”。
我尝试过只与“ SELECT *”一起使用的php代码,但是没有运气。
<?php
$servername = "test";
$username = "test";
$password = "test";
$dbname = "test";
$journal = (isset($_SESSION["journal"])) ? $_SESSION["journal"]
: null;
$conn = mysqli_connect($servername, $username, $password, $dbname) or die("connection failed: " . mysqli_connect_error());
mysqli_select_db($conn, $dbname) or die("something went wrong");
if(isset($_POST["form_submit"]))
{
$journal =$_POST["journal"];
$stmt = $conn->prepare("SELECT * FROM straffesager WHERE journalnummer=?");
$stmt->bind_param("s",$journal);
$stmt->execute();
$val = $stmt->get_result();
$row_count= $val->num_rows;
if($row_count >0)
{
$result =$val->fetch_assoc();
print_r($result);
}
else{
echo "<br><br>Den indtastede information matcher ikke sager i databasen.";
}
$stmt->close();
$conn->close();
}
?>
这是我的结果:“数组([idnumber] => 4 [journalnummer] => 17-1717171 [status] => lukket”。
上面的结果只是文本。我希望它也可以在其他地方使用的html表中。
如何将代码中的结果输出到HTML表中,并显示多个搜索结果?
感谢新手的帮助。
答案 0 :(得分:1)
代替
$result =$val->fetch_assoc();
print_r($result);
您应该在$result
变量的帮助下打印表格
像这样
echo "<table><tr><th>HEAD1</th><th>HEAD2</th><th>HEAD3</th></tr>";
while ($row = $val->fetch_assoc()) {
printf("<tr><td>%s</td><td>%s</td><td>%s</td></tr>",
$row['idnumber'],$row['journalnummer'],$row['status']);
//it will put $row instead of %s
}
echo "</table>";