使用PHP创建表并从MySQL填充

ubi*_*con 6 html php mysql html-table

我正在创建一个要在网页上显示的表,该表是从MySQL数据库中的数据填充的.我正在尝试做一些让我很难的事情.

首先,我试图通过JavaScript调用HTML中的单独文件中存在的PHP代码.我认为我的工作正常,但我不是百分百肯定(因为表格不会显示).我认为它正常工作,因为该表的一些代码(在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);

}
Run Code Online (Sandbox Code Playgroud)

编辑

回答几个问题:

@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>
Run Code Online (Sandbox Code Playgroud)

@Matt S,我没有太多的输出方式,事实上我不知道我得到任何东西,直到我看到FireBug并看到PHP代码(或其中一些)确实被传递给HTML文件.具体问题是如何从MySQL数据库中获取我想要的数据并通过PHP将其填充到HTML表中.我还可以确认其中employees有数据,我输入的两个条目用于测试.我可以尝试将代码放入自己的文件而不使用你建议的JavaScript,但这会打败我的目的,因为我希望我的HTML和PHP文件是分开的,但我可能只是为了看看PHP代码是否良好并确保JavaScript没有破坏它.

@Aaron,我不确定你在问什么(对不起).该代码用于填充在HTML页面上创建和填充表格.

bre*_*dan 15

以下是您正在寻找的完整示例:

  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>
Run Code Online (Sandbox Code Playgroud)

这里的表格代码只使用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>
Run Code Online (Sandbox Code Playgroud)