动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   PHP → 阅读文章

 [转]类与PHP (V)

作者来源: 
阅读 1060 人次 , 2006-4-18 17:24:00 


   Classes and PHP

Let's do the table body now:

<TR>
<?php

$Tbody->TDOut("Kreisler");
$Tbody->TDOut("Rod");
$Tbody->TDOut("Cortlandt");
$Tbody->TDOut("New York");
$Tbody->TDOut("USA");
?>
</TR>

But this is still getting kind of lengthy. Couldn't we save some more steps? How about trying this:

<?php

function TROut($message) { /*And NO comments about fish, please! ;)   */

        PRINT "<TR>\n";
        $cells=explode("|",$message);
        $iterations=count($cells);
        $i=0;
        while ($i<$iterations) {
                list($message,$span)=explode(":",$cells[$i]);
                if (strlen($message)<1) $message=" ";
                if ($span){
                        $this->TDOut ($message,$span);
                }else{
                        $this->TDOut ($message);
                }
                $i++;
                }
        PRINT "</TR>\n";

}

?>

Wow! That's a little more complicated. Let's break it down:

Line 3 splits the message on pipes and stores the pieces in the array $cells. Line 4 stores the number of items (number of cells) in $iterations. Line 6 begins our loop to go through these cell items. Line 7 splits the cell data at the colon and stores them into the variables $message and $span. Line 8 checks to see if a message was included. If not then it sets message to the default. Line 9 checks to see if there was a span listed (i.e. the cell data had a colon with something behind it. if so, Line 10 calls TDOut with the message and the number of cells it spans. if not, Line 12 calls TDOut with just the message (TDOut will set $colspan to the default 1). Lastly, we close out the row.

What this means is we can pass a single string to TROut that will contain all the necessary information to print out the entire row as long as the string is in the format "celldata[:colspan]|celldata[:colspan]|......celldata[:colspan]".

So, instead of all the work we did before, the headers and body of the table could be called like this:

<TABLE>
<?
$Theader->TROut("Name:2|Address:3");
$Theader->TROut("First|Last|City|State/Province|Country");
$Tbody->TROut("Rod|Kreisler|Cortlandt|New York|USA");
?>
</TABLE>

Wow. That's a lot easier. But what if the data is in variables? Simply join the array:

<?php

$message=join($arry,"|");
$Tbody->TROut($message);

?>   
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:[转]类与PHP (IV)
· 下一篇:[转]类与PHP (VI)
· Win32下Apache 2.0.35 php 4.2.0安装扎记
· 拼写检查函数库
· 五 分页类
· 好了,我经过大家的支持现在已经成功的把access数据倒换为mysql形式,本人将奉献给那些需要的朋友们!
· 分页显示ODBC数据库记录的类


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077