如何将php搜索结果输出到html表?

时间:2019-02-09 13:45:02

标签: php html mysqli

想要将搜索结果从数据库输出到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表中,并显示多个搜索结果?

感谢新手的帮助。

1 个答案:

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