【问题标题】:How to send a table with SQL information through PHP如何通过 PHP 发送带有 SQL 信息的表
【发布时间】:2013-11-18 04:19:52
【问题描述】:

我正在尝试在包含用户 SQL 数据的 html 页面上显示一个表格。

假设我可以连接并且表格中有信息。

<?php
echo "<table>
            <tr>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Hair Color</th>
        </tr>";
    $result = mysql_query("SELECT * FROM `table`");
    while($row = mysql_fetch_assoc($result))
    {
        echo "<tr>";
        echo "<td>" .$row['first']."</td>";
        echo "<td>".$row['last']."</td>";
        echo "<td>".$row['color']."</td>";
        echo "</tr>";
    }
    echo "</table>";

    echo "<input type="button" value="updateTable" id="btn">";
  ?>

因为没有数据输出,我哪里出错了?

【问题讨论】:

  • 你的数据库中有数据吗?
  • 检查您的查询是否正在执行?
  • 你不应该使用 mysql_query(),但是如果你需要一个数据库链接。见php.net/manual/en/function.mysql-query.php
  • 如下面的答案所示,这一行echo "&lt;input type="button" value="updateTable" id="btn"&gt;"; 应该是echo '&lt;input type="button" value="updateTable" id="btn"&gt;'; 或者像echo "&lt;input type=\"button\" value=\"updateTable\" id=\"btn\"&gt;"; 这样转义你的双引号,除此之外,你的代码很好,并检查你是否您的数据库中确实有数据,并且您的列已正确命名。另外“假设”您已连接到您的数据库。

标签: php html mysql sql html-table


【解决方案1】:

你可以试试这个,

下面一行导致错误,

 echo "<input type="button" value="updateTable" id="btn">";

应该是这样的

 echo '<input type="button" value="updateTable" id="btn">';

PHP 代码:

  <?php     

        echo "<table>
                <tr>
                <th>First Name</th>
                <th>Last Name</th>
                <th>Hair Color</th>
            </tr>";
        $result = mysql_query("SELECT * FROM `table`");
        while($row = mysql_fetch_assoc($result))
        {
            echo "<tr>";
            echo "<td>" .$row['first']."</td>";
            echo "<td>".$row['last']."</td>";
            echo "<td>".$row['color']."</td>";
            echo "</tr>";
        }
        echo "</table>";

        echo '<input type="button" value="updateTable" id="btn">';          

?>

【讨论】:

  • 在输出硬编码的 HTML 时最好关闭解释器。这样,如果/当必须将' 嵌入某处时,它仍然可以在不转义的情况下工作,并且您可以在 HTML 上获得语法高亮显示。
【解决方案2】:

首先,请考虑切换到 MySQLi_ 和/或 PDO 和准备好的语句。 MySQL_ 已弃用。

请阅读这两篇文章(上线之前):

有一行语法错误,这一行:

echo "<input type="button" value="updateTable" id="btn">";

应该写成:

echo '<input type="button" value="updateTable" id="btn">';

或:

echo "<input type='button' value='updateTable' id='btn'>";

或转义双引号:

echo "<input type=\"button\" value=\"updateTable\" id=\"btn\">";

在我自己的服务器上测试:

<?php
echo "<table>
    <tr>
    <th>First Name</th>
    <th>Last Name</th>
    <th>Hair Color</th>
</tr>";

// CONNECT TO THE DATABASE

$db = mysql_connect("localhost", "username", "password");
if($db->connect_errno > 0) {
  die('Connection failed [' . $db->connect_error . ']');
}

$mydb = "your_db";
$table = "your_table";
mysql_select_db($mydb) or die ('Unable to select database');

$result = mysql_query("SELECT * FROM `$table`");

while($row = mysql_fetch_assoc($result)) {
        echo "<tr>";
        echo "<td>" .$row['first']."</td>";
        echo "<td>".$row['last']."</td>";
        echo "<td>".$row['color']."</td>";
        echo "</tr>";
    }
    echo "</table>";

    echo "<input type=\"button\" value=\"updateTable\" id=\"btn\">";
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多