PHP pdo echo结果进入表

时间:2016-03-08 13:05:04

标签: php html mysql function pdo

我有一个简单的SELECT函数,我想将结果反映到中。

到目前为止,我能够以线性方式显示结果,但不能以表格形式显示结果。

每当我echo <tr>(见下面的代码)时,它似乎被忽略了。 我做错了什么?

到目前为止我的代码是;

function.php

class crud {
    public function lastLogin() {
        $stmt = $this->db->prepare("SELECT * FROM logins WHERE userId=:userId");
        $stmt->bindparam(":userId", $_SESSION['user_session']);
        $stmt->execute();

        if ($stmt->rowCount() > 0) {
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            echo '<tr>'.$row['lastLogin'].'</tr>'; // <- this line 
            }
        }
        else {
            echo 'Nothing here';
        }
        return true;
    }
}

user.php的

<div class="col-lg-6">
    <?php $crud->lastLogin(); ?>
</div>

要确认,使用上面的代码会显示数据 - 只是不在我想要的表格中。它以下列格式显示;

2016-03-07 17:09:382016-03-08 09:12:082016-03-08 09:13:342016-03-08 09:15:022016-03-08 09:15:342016-03-08 11:42:33

我确信我错过了一些简单的事情。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:3)

如评论中所述:

这是表语法

的示例
<table border="1" width="100%"> 
   <tr> 
<td width="100%">ABC</td> 
   </tr> <tr> 
<td width="100%">123</td> 
   </tr> 
</table>

你最终使用的是什么:

echo '<table><tr><td>'.$row['lastLogin'].'</td></tr></table>';

答案 1 :(得分:-1)

更好的主意是:

class crud {
    public function lastLogin() {
        $stmt = $this->db->prepare("SELECT * FROM logins WHERE userId=:userId");
        $stmt->bindparam(":userId", $_SESSION['user_session']);
        $stmt->execute();

        if ($stmt->rowCount() > 0) {
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            return '<tr>'.$row['lastLogin'].'<tr>';
            }
        }
        else {
            return 'Nothing here';
        }
    }
}

但我不确定