2016-03-08 70 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

請添加一些解釋。您的答案目前被標記爲「低質量」,並可能最終被刪除。 –