从MySQL表中获取多个结果并将它们放入HTML表中(PHP / MySQLi):


Taking multiple results from a MySQL table and putting them in a HTML table (PHP / MySQLi):

好的,所以我在休息了很长时间后回到整个 Web 开发,有点生疏;我正在处理一些较旧的项目,其中一个项目正在创建一个消息系统。我有点迷茫,不知道我需要如何进行。

public function loadMessages() {
        $UAC_base = new UAC_base();
        $global_functions = new globalFunctions();
        $this->db_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
        $user = $global_functions->convertUsernameToID($_SESSION["user_name"]); 
        $checkUserMessages_query = "SELECT ucp_message_sentby, ucp_message_subject, ucp_message_content, ucp_message_datetime FROM csgoplace_messages WHERE ucp_message_target = '" . $user . "';";
        $checkUserMessages_query_result = $this->db_connection->query($checkUserMessages_query);
        $result_row = $checkUserMessages_query_result->fetch_object();
        $num_rows = $checkUserMessages_query_result->num_rows;
        if($checkUserMessages_query_result->num_rows > 0) {
            $msg_sentby = $global_functions->convertUserIDToName($result_row->ucp_message_sentby);
            $msg_subject = $result_row->ucp_message_subject;
            $msg_content = $result_row->ucp_message_content;
            $msg_datetime = $result_row->ucp_message_datetime;
            echo "
            <tr>
                <td>" . $msg_sentby . "</td>
                <td>" . $msg_subject . "</td>     
                <td>15 June 2015, 13:56PM</td>
                <td><a href='#'>View</a> | <a href='#'>Delete</a>
            </tr>";
        }

这就是我目前所拥有的,它更像是一种测试方法,以确保我的表和查询等的格式很好,但是当然,这只会产生一个结果。如何让它检索所有结果并用所述结果填充整个 HTML 表?

我不知道

你的类是什么样子的,但如果$checkUserMessages_query_result->fetch_object();PDOStatement::fetch(PDO::FETCH_OBJ)的包装器您应该将这行代码放入 while 循环中,如下所示:

while($result_row = $checkUserMessages_query_result->fetch_object()){
    //do stuff with $result_row
} 

如果没有(或更多)行可用,则 PDOStatement::fetch() 方法将返回 false。