【问题标题】:Populating HTML table with MySQL data using PHP使用 PHP 用 MySQL 数据填充 HTML 表
【发布时间】:2012-04-23 09:54:37
【问题描述】:

我正在尝试使用 MySQL 数据填充 HTML 表,但我在第 128 行(即,就在 $row['location'] 行之后)收到错误消息:T_CONSTANT_ENCAPSED_STRING。我已经用谷歌搜索了,但我无法真正理解这意味着什么或我可能会出错的地方。任何帮助将不胜感激非常。谢谢:)

echo "<table id='row1_border'>";
                    while($row = mysql_fetch_array($result)) ;
                    {
                    echo "<tbody>";
                        echo "<tr class='job_listing'>";
                            echo "<td class='job'>";
                                echo "<div class='company_image'></div>";

                                echo "<div class='job_title'>";
                                    echo "<span class='job_title_style'></span>";
                                echo "</div>";
                                echo "<div class='company_name'>";
                                    echo "<span class='company_name_style'>Akin, Gump, and Smith</span>";
                                echo "</div>";
                                echo "<div class='company_tagline'>";
                                    echo "<span class='company_tagline_style'>This is just a test.</span>";
                                echo "</div>";
                            echo "</td>";
                            echo "<td class='location'>";
                                echo "<div class='location_div'>";
                                    echo "<span class='location_style'>";
                                        $row['location']

                                "</span>";
                                echo "</div>";
                            echo "</td>";
                            echo "<td class='job_type'>";
                                echo "<div class='job_type_div'>";
                                    echo "<span class='job_type_style'>";

                                        echo .$row['job_type'].
                                    "</span>";
                                echo "</div>";
                            echo "</td>";
                        echo "</tr>";
                    echo "</tbody>";
                    }
                echo "</table>"

                ?>

【问题讨论】:

  • 请停止使用古老的mysql_* 函数编写新代码。它们不再维护,社区已经开始 deprecation process 。相反,您应该了解prepared statements 并使用PDOMySQLi。如果你想学习,here 是一个相当不错的 PDO 相关教程。

标签: php mysql html css


【解决方案1】:

您在有问题的行之前没有 echo,请尝试:

echo $row['location'];

这一行之后的行也没有正确回显。

确保每行都回显。

【讨论】:

  • 您好,非常感谢您回复我。我刚刚添加了回声并重新加载。现在我收到一个新错误:解析错误:语法错误,意外的 T_ECHO,期待 ',' 或 ';'知道为什么吗?再次感谢!
【解决方案2】:

祝你好运

<table><tbody>
<?php while($row = mysql_fetch_array($result)) { ?>
                    <tr class='job_listing'>
                        <td class='job'>
                            <div class='company_image'></div>

                            <div class='job_title'>
                                <span class='job_title_style'></span>
                            </div>
                            <div class='company_name'>
                                <span class='company_name_style'>Akin, Gump, and Smith</span>
                            </div>
                            <div class='company_tagline'>
                                <span class='company_tagline_style'>This is just a test.</span>
                            </div>
                        </td>
                        <td class='location'>
                            <div class='location_div'>
                                <span class='location_style'>
                                   <?php  echo $row['location']; ?>

                            </span>
                            </div>
                        </td>
                        <td class='job_type'>
                            <div class='job_type_div'>
                                <span class='job_type_style'>

                                    <?php  $row['job_type']; ?>
                                </span>
                            </div>
                        </td>
                    </tr>
                    <?php } ?>
                </tbody>
            </table>

【讨论】:

  • 太棒了。非常感谢。像魅力一样工作,更易于阅读。
【解决方案3】:

试试这个

echo "<td class='location'>";
     echo "<div class='location_div'>";
         echo "<span class='location_style'>".$row['location']."</span>";                   
     echo "</div>";
 echo "</td>";
 echo "<td class='job_type'>";
     echo "<div class='job_type_div'>";
         echo "<span class='job_type_style'>".$row['job_type']."</span>";
     echo "</div>";
 echo "</td>";

【讨论】:

  • 如果这不起作用,请尝试 $row = mysql_fetch_array($result); print_r($row); 没有所有表格 html
  • 好消息和坏消息。好消息是加载的页面没有任何解析错误。坏消息是数据没有被拉入表中。 @AL90 我想我知道你的意思,但你能再充实一点吗?谢谢:)
  • 尝试将 $row['location'] 替换为 $row[0] 并将 $row['job_type'] 替换为 $row[1]。大多数时候mysql会将它的数组值设置为数值而不是实际的列名
  • 好吧,只是试了一下,没有运气 :( 如果是 mysql 的问题,那么我会期望它会显示一些东西……那么可能是语法问题?
  • 你能看到 html 表格的边框吗?如果是,那么这意味着您的 html 代码是正确的,而您的 mysql 代码回显不正确。如果是 mysql 代码,则注释掉所有表格 html 并将其发布在您的页面中 $row = mysql_fetch_array($result); print_r($row);?>.如果这有效,那么它应该溢出你所有的 mysql 查询,如果不这样做,那么你没有正确查询你的数据
【解决方案4】:

因为你需要分号。

我建议您以后阅读该错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 2018-04-13
    • 2016-07-03
    • 1970-01-01
    • 2018-03-12
    • 2012-05-18
    • 1970-01-01
    相关资源
    最近更新 更多