2016-06-13 101 views
0

我有一個數據庫與三個表。 A,B和C.表A有一列:entity_id。表B有兩列; entity_id,entity_name。表C有兩列; entity_id,entity_body。PHP的SQL查詢 - 無法添加HTML格式

我試圖使用PHP創建顯示出現在表A中的所有ENTITY_ID ENTITY_NAME和entity_body一個HTML表格

$sql1 = $dbh->prepare('Select B.entity_name, C.entity_body FROM A 
INNER JOIN B ON A.entity_id = B.entity_id 
INNER JOIN C on A.entity_id = C.entity_id'); 
$sql1->execute(); 

while ($row = $sql1->fetchObject()) { 
    echo '<br><tr><td>'; 
    echo $row->body_value; 
    echo '</td><td>'; 
    echo $row->title; 
    echo '</td></tr>'; 
} 

上述查詢將返回正確的數據庫記錄:它顯示所有用換行符分隔的相關行。

但是,HTML標籤似乎永遠不會被添加。
標籤被添加。所有其他標籤都被識別並按預期工作(例如,p,div等)。

是否可以將查詢的輸出格式化爲包含單元格和行的HTML標籤的表格?

道歉,如果這是顯而易見的 - 這是我第一次嘗試在數據庫中使用PHP。非常感謝,

+0

你好,我不太明白這個問題,你想得到什麼結果? –

+0

您的''實際上是否包含在'

'中? – Tristan

+0

您的SQL查詢與您正在訪問的對象屬性不匹配。查詢中沒有'body_value'或'title'。 – Barmar

回答

0

嘗試

$sql1 = $dbh->prepare('Select B.entity_name, C.entity_body FROM A 
    INNER JOIN B ON A.entity_id = B.entity_id 
    INNER JOIN C on A.entity_id = C.entity_id'); 
    $sql1->execute(); 

    echo '<table width="100%">'; 
    while ($row = $sql1->fetch(PDO::FETCH_OBJ)) { 
     echo '<tr> 
       <td>'; 
     echo  $row->entity_body; 
     echo ' </td> 
      <td>'; 
     echo  $row->entity_name; 
     echo '</td> 
      </tr>'; 
    } 
    echo '</table>'; 
+0

謝謝ksealey。你的答案已修復它!我真的不相信這很容易。再次感謝! :) – BSWard

+0

沒問題的隊友:) – ksealey

0

看起來像你 ''

//此處添加表格標記之前缺少表標籤。

echo '<table>'; //you can set table style using css as well 
while ($row = $sql1->fetchObject()) { 
    echo '<tr><td>'; // no need to add <br> here 
    echo $row->body_value; 
    echo '</td><td>'; 
    echo $row->title; 
    echo '</td></tr>'; 
} 

//close table tag here 
echo '</table>'; 

希望這會有所幫助!

+0

謝謝薩米 - 你的答案也有幫助!關鍵是添加表格標籤。 – BSWard

+0

很高興能有所幫助 – Sami