2016-03-08 62 views
3

我有一个简单的SELECT函数,我想将结果回显成PHP pdo echo结果到表

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

每当我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 

我确定我缺少一些简单的东西。任何帮助表示赞赏。

+1

*“每当我添加

,或​​它似乎被忽略。我做错了什么?“ - 告诉我们你是如何使用它的。 –

+0

你的班级缺少数据库连接!! – Saty

+0

我不确定'bindParam'是否等于'binddoram' in pdo – Saty

回答

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

更好的主意是:

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'; 
     } 
    } 
} 

,但我不知道

+1

你能解释一下你所做的改变吗? – Saty

+3

为什么OP应该这样做?为什么这是一个“更好的主意”?一个好的答案***将总是解释所做的事情以及为什么这样做,不仅是为了OP,还是为了将来访问SO。 –

+1

请添加一些解释。您的答案目前被标记为“低质量”,并可能最终被删除。 –