亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 返回不正確的 HTML 代碼,忽略了一些標簽

PHP 返回不正確的 HTML 代碼,忽略了一些標簽

PHP
天涯盡頭無女友 2023-03-11 17:21:46
我有以下代碼來顯示數據庫中的內容。while 循環應該在表格行中顯示數據。輸出不同:數據庫中的數據顯示在表格之前。while 似乎運行并忽略 html 標記,然后再次運行并忽略變量。PHP代碼:// Instantiate database$database = new Database();$db = $database->getConnection();// List transactions without bundles$query = "SELECT * FROM stock_trx WHERE bundleId IS NULL";$statement =  $db->prepare($query);$statement->execute();$n = $statement->rowCount();if($n > 0){    echo "<table>        <thead>            <tr>                <th>Select</th>                <th>Date</th>                <th>Type</th>                <th>Quantity</th>                <th>Ticker</th>                <th>Amount</th>                <th>Currency</th>            </tr>            </thead>        <tbody>";    // Retrieve table content    while($row = $statement->fetch(PDO::FETCH_ASSOC)){        // Extract row        extract($row);        echo "<tr>".$id."</tr>";        echo "<tr>".$date."</tr>";        echo "<tr>".$type."</tr>";        echo "<tr>".$qty."</tr>";        echo "<tr>".$ticker."</tr>";        echo "<tr>".$amount."</tr>";        echo "<tr>".$currency."</tr>";    }    echo "</tbody></table>";} else {    echo "No transaction";}HTML 輸出:<html><body>12020-05-13 00:00:00BUYTEST1000022020-05-19 00:00:00SELTEST1200032020-05-24 00:00:00DIVTEST250<table>        <thead>            <tr>                <th>Select</th>                <th>Date</th>                <th>Type</th>                <th>Quantity</th>                <th>Ticker</th>                <th>Amount</th>                <th>Currency</th>            </tr>            </thead>        <tbody><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr>        </tbody>    </table></body></html>謝謝
查看完整描述

3 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

您需要行<tr>和<td>行內的單元格:


while($row = $statement->fetch(PDO::FETCH_ASSOC)){

    // Extract row

    extract($row);


    echo "<tr>";   // start row

    echo "<td>".$id."</td>";

    echo "<td>".$date."</td>";

    echo "<td>".$type."</td>";

    echo "<td>".$qty."</td>";

    echo "<td>".$ticker."</td>";

    echo "<td>".$amount."</td>";

    echo "<td>".$currency."</td>";

    echo "</tr>";  // end row

}

echo "</tbody></table>";

與另一個答案相反,我會這樣做,因為您使用的是雙引號:


echo "<tr>";   // start row

echo "<td>$id</td>";

// etc...

或者合并成一行,甚至一行:


echo "

<tr>

<td>$id</td>

<td>$date</td>

<td>$type</td>

<td>$qty</td>

<td>$ticker</td>

<td>$amount</td>

<td>$currency</td>

</tr>";


查看完整回答
反對 回復 2023-03-11
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

雖然其他一些人提到您需要 TD 標簽,但我只想指出一些奇怪的 PHP 類型的東西,它們現在/將來可能對您有幫助,也可能不會。


你的陳述可以重寫


<?php

while($row = $statement->fetch(PDO::FETCH_ASSOC)):

    // Extract row

    extract($row);?>

    <tr>

      <td><?php echo $id; ?>?</td>

      <td><?php echo $date; ?>?</td>

      <td><?php echo $type; ?>?</td>

      <td><?php echo $qty; ?>?</td>

      <td><?php echo $ticker; ?>?</td>

      <td><?php echo $amount; ?>?</td>

      <td><?php echo $currency; ?>?</td>

    </tr>

<?php endwhile; ?>

這使用一些鮮為人知的格式來在 PHP 文件中使用 HTML,但它應該可以正常工作(使用 PHP 7.4 CLI 在本地測試)。有些人更喜歡它而不是必須使用它echo來輸出所有 HTML,但是您仍然需要一堆 echo 語句來打印變量。


重申一下,其他任何答案都沒有錯,我只是覺得在這種情況下,您將一堆 HTML 與 PHP 一起使用,這種表示法可以更容易使用。


查看完整回答
反對 回復 2023-03-11
?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

正如一些人回答的那樣,缺少以下標簽:

<td>


查看完整回答
反對 回復 2023-03-11
  • 3 回答
  • 0 關注
  • 136 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號