我正在创建一个要在网页上显示的表,并且该表是由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不会破坏它。
employees
@亚伦,我不确定你在问什么(对不起)。该代码旨在在HTML页面上填充创建和填充表。
这是您要查找的内容的完整示例:
对于样式,我作弊了一点,并使用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>