2015-02-11 128 views
0

我有一個表有三列日期,標題,消息。如何在sql表中的每一行之後添加一個按鈕?

我會在每張表中只顯示日期和標題,並且希望在每行之後添加一個單獨的按鈕,然後我將顯示該消息。

我曾嘗試

  <?php 

     echo "<table style='border: solid 3px aqua;'>"; 
     echo "<tr><th>Circular/Notice</th><th>DateGenerated</th></tr>"; 
     class TableRows extends RecursiveIteratorIterator { 
      function __construct($it) { 
       parent::__construct($it, self::LEAVES_ONLY); 
      } 
     function current() { 
       return "<td style='width:150px;border:1px solid red;'>" . parent::current(). "</td>"; 
      } 

      function beginChildren() { 
       echo "<tr>"; 
      } 

      function endChildren() { 
       echo "</tr>" . "\n"; 
      } 

     } 

     $servername = "localhost"; 
     $username = "root"; 
     $password = ""; 
     $dbname = "er"; 

     try { 
      $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
      $stmt = $conn->prepare("SELECT title ,DateGenerated FROM messages"); 
      $stmt->execute(); 

      // set the resulting array to associative 
      $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
      foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
       echo $v; 


      } 
     } 
     catch(PDOException $e) { 
      echo "Error: " . $e->getMessage(); 
     } 
     $conn = null; 
     echo '<input type ="button" value = "View"/>'; 
     echo "</table>"; 

     ?> 

和我得到的結果是隻有一個按鈕,太多在桌子上。 enter image description here

+0

我試過了,它顯示頂部每行的2個按鈕。 – Mann 2015-02-11 15:14:23

+0

在「每個表」中還是在每一行中? – 2015-02-11 15:29:29

+0

EACH ROW後按鈕,當任何按鈕被點擊時,我想顯示列消息 – Mann 2015-02-11 15:33:26

回答

2

<input>需要是<td>,它必須是一個HTML表格,是不是在一排和細胞內的<tr>

任何內部的內部,獲取呈現表的外部。

要讓每行都有一個按鈕,您需要將代碼放在TableRows循環中。我建議編輯endChildren()功能,如下:

function endChildren() { 
    echo '<td><input type="button" value = "View"/></td>'; 
    echo "</tr>" . "\n"; 
} 
+0

的數據感謝它的工作,現在爲每個按鈕點擊我需要顯示在我的數據庫的消息列中的數據。 – Mann 2015-02-11 15:27:32

相關問題