【问题标题】:Cannot show html tables in php无法在php中显示html表
【发布时间】:2016-06-15 17:08:54
【问题描述】:

下面我将发布我的代码并解释我的问题:事实上,这段代码应该显示我建立的查询的每条记录的值,问题是查询是正确的(因为我在 phpMyAdmin 上检查过),但页面没有显示 <tbody>,它什么也没显示,我尝试使用 <td> 标签放置单个回显输出,但没有,有人可以解决我的问题并查看错误我做了吗?

<div class="container-fluid col-lg-6">
    <table class="table">
        <thead class="thead-default">
            <tr>
            <th>ID Pratica</th>
            <th>ID Utente</th>
            <th>Data Inizio</th>
            <th>Descrizione</th>
            <th>Data Stimata</th>
            <th>Stato</th>
            </tr>
        </thead>
        <tbody>
        <?php   
            $query_search_all="SELECT * FROM `pratiche`";
            $result = mysql_query($query_search_all);
            while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
            echo "<td>".$row['id_pratica']."</td>";
            echo "<td>".$row['id_utente']."</td>";
            echo "<td>".$row['data_inizio']."</td>";
            echo "<td>".$row['descrzione']."</td>";
            echo "<td>".$row['data_stimata']."</td>";
            echo "<td>".$row['stato']."</td>";

            }
        ?>
        </tbody>
    </table>
</div>

【问题讨论】:

  • 您能检查一下$result 中的内容吗?我认为这不是预期的资源,而是错误的。这意味着您与数据库的连接未正确完成
  • 如果你刚开始学习php,请学习mysqli或pdo。 Mysql 现已弃用。
  • 解决此问题后,您需要在循环中添加一些 ... 输出。
  • @Rishi 它甚至已在最新版本的 PHP 中被删除 :-)
  • @Julqas 那可能是 OPs 的问题 - PHP 不理解所以没有输出

标签: php html sql formatting html-table


【解决方案1】:

您忘记了&lt;tr&gt; 标签。

<div class="container-fluid col-lg-6">
    <table class="table">
        <thead class="thead-default">
            <tr>
            <th>ID Pratica</th>
            <th>ID Utente</th>
            <th>Data Inizio</th>
            <th>Descrizione</th>
            <th>Data Stimata</th>
            <th>Stato</th>
            </tr>
        </thead>
        <tbody>
            <?php
                $query_search_all="SELECT * FROM `pratiche`";
                $result = mysql_query($query_search_all);
                while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
                    echo "<tr>";
                    echo "<td>".$row['id_pratica']."</td>";
                    echo "<td>".$row['id_utente']."</td>";
                    echo "<td>".$row['data_inizio']."</td>";
                    echo "<td>".$row['descrzione']."</td>";
                    echo "<td>".$row['data_stimata']."</td>";
                    echo "<td>".$row['stato']."</td>";
                    echo "</tr>";    
                }
            ?>
        </tbody>
    </table>
</div>

【讨论】:

  • &lt;tr&gt; 应该在循环中。
  • 但是,我不确定这是否能解决问题。即使使用无效的 HTML,大多数浏览器也应该呈现 something,但似乎 OP 说什么都没有显示。
  • 标签在 while 循环中,我试图将 标签放入循环中,但它的工作原理并不相同......
  • while 循环中的&lt;tr&gt; 标记将允许您拥有多行(每6 个表格单元格一行,或&lt;td&gt;)。您不应该将 &lt;tbody&gt; 放入循环中,因为您不希望将多个 &lt;tbody&gt; 打印到 html 中。
  • 那么为什么它不起作用?这可能是因为我正在使用引导程序?我必须在我的 tr 标签上放一些类?
【解决方案2】:

你能检查一下下面的代码吗???

<?php   
        $query_search_all="SELECT * FROM pratiche ";
        $result = mysql_query($query_search_all);
        while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
        echo "<tr>";
        echo "<td>".$row['id_pratica']."</td>";
        echo "<td>".$row['id_utente']."</td>";
        echo "<td>".$row['data_inizio']."</td>";
        echo "<td>".$row['descrzione']."</td>";
        echo "<td>".$row['data_stimata']."</td>";
        echo "<td>".$row['stato']."</td>";
        echo "</tr>";
        }
    ?>

【讨论】:

  • 为什么他应该“检查以下代码”?它有什么不同?你是如何解决这个问题的?
  • 表名的单引号 pratich 据我所知@Mike :) :)
  • @Sakil 你知道它对 MySQL PoV 没有任何改变,对吧.. ?
  • @Sakil 这些不是问题中的单引号,而是反引号,应该在包含保留字或其他无效字符的 mysql 表和列名周围使用。
  • tnks 供您参考@mike.besides 标签缺少我添加的那些,我没有看到之前的答案已经添加。 :) :)
猜你喜欢
相关资源
最近更新 更多
热门标签