#native_company# #native_desc#
#native_cta#

PHP and Classes Page 5

By Rod Kreisler
on July 30, 2000

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="&nbsp";

                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>

<?php

$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);

?>



Comment and Contribute

Your comment has been submitted and is pending approval.

Author:

Rod Kreisler

Comment:



Comment: