当前位置: 首页 > 面试题库 >

用PHP创建表并从MySQL填充

麹正业
2023-03-14
问题内容

我正在创建一个要在网页上显示的表,并且该表是由MySQL数据库中的数据填充的。我正在尝试做一些让我感到困难的事情。

首先,我试图通过JavaScript调用HTML中单独文件中存在的PHP代码。我认为我的工作正常,但是我不确定100%是否正确(因为表格不会显示)。我认为它工作正常,因为该表的
某些 代码(在PHP文件中)显示在FireBug中。

其次,我正在尝试使行交替显示颜色以便于查看。到目前为止,我的PHP代码如下。该表根本不显示在任何浏览器中。

    $query = "SELECT * FROM employees";
    $result = mysql_query($query);

    $num = mysql_num_rows($result);

    echo '<table>';

    for ($i = 0; $i < $num; $i++){
        $row = mysql_fetch_array($result);
        $id = $row['id'];
        $l_name = $row['l_name'];
        $f_name = $row['f_name'];
        $ssn = $row['ssn'];

        $class = (($i % 2) == 0) ? "table_odd_row" : "table_even_row";

        echo "<tr>";
            echo "<td class=" . $class . ">$wrap_id</td>";
            echo "<td class=" . $class . ">$wrap_l_name</td>";
            echo "<td class=" . $class . ">$wrap_f_name</td>";
            echo "<td class=" . $class . ">$wrap_ssn</td>";
        echo "</tr>";

    }

    echo '</table>';

    mysql_close($link);

}

编辑

要回答几个问题:

@ controlfreak123,我不确定您的意思是“
include(’filename_with_php_in_it’)”。至于该页面没有被调用以进行解析,我认为它正在被调用并且正在建立联系。我在最初的问题中指出,我相信这是真的,因为FireBug显示了表的代码,并且该代码位于单独的PHP文件中,因此HTML文件和PHP文件之间必须进行通信。如果您想知道的话,这就是我从HTML文件中调用PHP文件的方式:

<script language="javascript" type="text/javascript" src="/Management/Employee_Management.php?action=Edit_Employee"></script>

@Matt
S,我的输出方式并没有太多,事实上,直到我查看了FireBug并发现确实将PHP代码(或其中的一些代码)传递给了我之后,我才知道自己什么都没得到。
HTML文件。具体问题是如何从MySQL数据库中获取所需数据,然后通过PHP将其填充到HTML表中。我还可以确认其中employees是否包含数据,我输入了两个条目进行测试。我可以按照您的建议尝试将代码放入没有JavaScript的文件中,但这会违背我的意图,因为我希望将HTML和PHP文件分开,但是我可以尝试一下以查看PHP代码是否良好并确保JavaScript不会破坏它。

@亚伦,我不确定你在问什么(对不起)。该代码旨在在HTML页面上填充创建和填充表。


问题答案:

这是您要查找的内容的完整示例:

  1. 使用php从mysql中提取一些数据
  2. 将该数据放入html表
  3. 将交替的彩色行应用于表

对于样式,我作弊了一点,并使用jquery,我发现它比您尝试做的要容易一些。

另外,请记住$ row [field]区分大小写。 因此$ row [id]!= $ row [ID]。

希望这可以帮助:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
        <style type="text/css">
            tr.header
            {
                font-weight:bold;
            }
            tr.alt
            {
                background-color: #777777;
            }
        </style>
        <script type="text/javascript">
            $(document).ready(function(){
               $('.striped tr:even').addClass('alt');
            });
        </script>
        <title></title>
    </head>
    <body>
        <?php

            $server = mysql_connect("localhost","root", "");
            $db =  mysql_select_db("MyDatabase",$server);
            $query = mysql_query("select * from employees");
        ?>
        <table class="striped">
            <tr class="header">
                <td>Id</td>
                <td>Name</td>
                <td>Title</td>
            </tr>
            <?php
               while ($row = mysql_fetch_array($query)) {
                   echo "<tr>";
                   echo "<td>".$row[ID]."</td>";
                   echo "<td>".$row[Name]."</td>";
                   echo "<td>".$row[Title]."</td>";
                   echo "</tr>";
               }

            ?>
        </table>
    </body>
</html>

这是仅使用PHP替代样式的表代码,就像您在示例中尝试的那样:

    <table class="striped">
        <tr class="header">
            <td>Id</td>
            <td>Title</td>
            <td>Date</td>
        </tr>
        <?php
           $i = 0;
           while ($row = mysql_fetch_array($query)) {
               $class = ($i == 0) ? "" : "alt";
               echo "<tr class=\"".$class."\">";
               echo "<td>".$row[ID]."</td>";
               echo "<td>".$row[Name]."</td>";
               echo "<td>".$row[Title]."</td>";
               echo "</tr>";
               $i = ($i==0) ? 1:0;
           }

        ?>
    </table>


 类似资料:
  • 问题内容: 我在用PHP变量创建SQL表时遇到了麻烦。 假设$ tbl_date =“ data”; 它不会创建表。 问题答案: 您的表名不在引号中,因此似乎无法正常工作。试试这个: 字段名称也是如此。 也可以尝试一下,这样人类更容易阅读: 请注意不同类型的引号: -在PHP中用于构建某些字符串(例如SQL查询)的单引号和双引号 -专门用作表名和列名的SQL查询一部分的反引号

  • 第一个类称为FileReader,它读取一个逐行写入的txt文件,我们需要的每个字段都用“;”分隔,例如(“哥伦比亚大学”;“美国”;78.86;2012)。每行包含2个字符串(大学名和国家)和2个数字(分数和年份)。FileReader类在读取txt文件后,在ArrayList中返回其内容。 该作业的第二个类称为UniversityScores,它有4个字段(uniname、country、sc

  • 主要内容:使用 MySQLi 和 PDO 创建 MySQL 表,实例 (MySQLi - 面向对象),实例 (MySQLi - 面向过程),实例 (PDO)一个数据表有一个唯一名称,并有行和列组成。 使用 MySQLi 和 PDO 创建 MySQL 表 CREATE TABLE 语句用于创建 MySQL 表。 创建表前,我们需要使用 use myDB 来选择要操作的数据库: 我们将创建一个名为 "MyGuests" 的表,有 5 个列: "id", "firstname", "lastname"

  • 问题内容: 我正在尝试从PHP中的mySQL查询结果填充下拉框。我在网上查找了示例,并在网页上进行了尝试,但是由于某些原因,它们根本没有填充我的下拉框。我已经尝试调试代码,但是在我看过的网站上并没有真正解释它,我无法弄清楚每一行代码是什么。任何帮助将是巨大的:) 这是我的查询: 问题答案: 您需要确保如果使用的是WAMP之类的测试环境,请将用户名设置为root。这是一个示例,该示例连接到MySQL

  • 问题内容: 我有一个类别表,如下所示。我要保存类别,该表中的子类别(多个子类别)。我的桌子看起来像 现在,我需要查询该表并按如下所示创建树形结构,以轻松浏览前端的类别。 像这样的树 我对查询有点困惑。谁能帮帮我吗 ? 提前致谢 问题答案: 对于基本显示,您可以使用: 它将为您提供所有的根节点。 当用户单击某个节点时,他/她/它向服务器(可能是Ajax)提交请求以获取被单击节点的子节点,例如: 然后

  • 我使用MySQl Work Bench制作了一个表模式,并希望用我丢弃的tweet填充它。到目前为止,所有外键和主键都已设置。但我无法让SQLalchemy使用模式并填充它。我使用以下命令行进行了尝试:我缩短了表创建的代码,使其只与“user”部分匹配。我得到的错误是