php能动态显示表格的例子
时间:2007-02-17 来源:PHP爱好者
从数据库里取出数据放到表格里php有本身的方法,如odbc_result_all(),该函数用来将取得的资料转成HTML 的表格 (table) 格式,但必须是SQL语句里的选出来的字段,可能显示的数据并不是你全部选的字段。另一些可能要做选择,或者判断的。所以我写了这段代码来生成一个表格。想要显示的字段完全由一个数组控制。而且可以根据需要改变数组里的某个字段的值。代码如下:
<?php
/* showtable.php
*
* Created by Xu Jie
* Date: 03/01/2001
*/
function showHeader($arr_header)
{
$col = sizeof($arr_header);
echo " <tr>n";
do
{
echo " <th>".pos($arr_header)."</th>n";
}
while (next($arr_header));
echo " </tr>n";
}
function showList($head,$arr_data)
{
$i=0;
do
{
$header[$i++] = key($head);
}
while (next($head));
for ($i=0;$i<sizeof($arr_data);$i++)
{
if ($i%2==0)
echo " <tr>n";
else
echo " <tr class=tr2>n";
for ($j=0;$j<sizeof($header);$j++)
{
if ($arr_data[$i]->$header[$j]!="")
echo " <td>".$arr_data[$i]->$header[$j]."</td>n";
else
echo " <td> </td>";
}
echo " </tr>n";
}
}
function showTable($arr_header,$arr_list,$face="BORDER='1'")
{
echo "<TABLE ".$face.">n";
showHeader($arr_header);
showList($arr_header,$arr_list);
echo "</TABLE>n";
}
?>
其中用户需要调用的是showTable()函数。
参数$arr_header为表格头部的标题行。比如一个用户列表(UserName,Password,EmailAdd,Homepage),存
放在sql Server上,从数据库里用mssql_fetch_object()取出字段存放到一个数组$arr_list里后,如果只
想显示UserName,EmailAdd,HomePage三个字段,而不显示Password字段。
$arr_header就可以这样写:
$arr_header = array("UserName"=>"用户名","EmailAdd"=>"电子邮件","Homepage"=>"个人主页");
然后调用showTable($arr_header,$arr_list;"Border=2");
就可以把列表显示到网页上了。为以下显示:
用户名 电子邮件 个人主页
...... ........ ........
...... ........ ........
...... ........ ........
如果想在每个电子邮件上都加链接
就可以用一个循环在给EmailAdd一列的每一个都加上链接了。
php爱好者站 http://www.phpfans.net PHP|MySQL|javascript|ajax|html.
<?php
/* showtable.php
*
* Created by Xu Jie
* Date: 03/01/2001
*/
function showHeader($arr_header)
{
$col = sizeof($arr_header);
echo " <tr>n";
do
{
echo " <th>".pos($arr_header)."</th>n";
}
while (next($arr_header));
echo " </tr>n";
}
function showList($head,$arr_data)
{
$i=0;
do
{
$header[$i++] = key($head);
}
while (next($head));
for ($i=0;$i<sizeof($arr_data);$i++)
{
if ($i%2==0)
echo " <tr>n";
else
echo " <tr class=tr2>n";
for ($j=0;$j<sizeof($header);$j++)
{
if ($arr_data[$i]->$header[$j]!="")
echo " <td>".$arr_data[$i]->$header[$j]."</td>n";
else
echo " <td> </td>";
}
echo " </tr>n";
}
}
function showTable($arr_header,$arr_list,$face="BORDER='1'")
{
echo "<TABLE ".$face.">n";
showHeader($arr_header);
showList($arr_header,$arr_list);
echo "</TABLE>n";
}
?>
其中用户需要调用的是showTable()函数。
参数$arr_header为表格头部的标题行。比如一个用户列表(UserName,Password,EmailAdd,Homepage),存
放在sql Server上,从数据库里用mssql_fetch_object()取出字段存放到一个数组$arr_list里后,如果只
想显示UserName,EmailAdd,HomePage三个字段,而不显示Password字段。
$arr_header就可以这样写:
$arr_header = array("UserName"=>"用户名","EmailAdd"=>"电子邮件","Homepage"=>"个人主页");
然后调用showTable($arr_header,$arr_list;"Border=2");
就可以把列表显示到网页上了。为以下显示:
用户名 电子邮件 个人主页
...... ........ ........
...... ........ ........
...... ........ ........
如果想在每个电子邮件上都加链接
就可以用一个循环在给EmailAdd一列的每一个都加上链接了。
php爱好者站 http://www.phpfans.net PHP|MySQL|javascript|ajax|html.
相关阅读 更多 +