trying to learn php4lib templates
| From: | Mark Faine | Date: | Thu, 12 Oct 2000 21:23:09 +0000 |
| Subject: | trying to learn php4lib templates | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-19894@lists.php.net to get a copy of this message | ||
Ok, I'm trying to teach phplib and I'm having some problems getting the
concept down.
These are two very basic templates and I'd like to use as a basis for a
shopping cart that I can include inline wherever necessary.
Here is what I have, but be warned I have been reading and changing and
trying different things all day and I just can't get it to synch .
I know once I get a firm grasp on how this works I'll be off and running so
if anyone here can help I would be very happy
I've had it sorta of working once or twice by leaving out the
mysql_fetch_array, but of course I dont' get any data returned.
I know this is a lot to post in one chunk in a message but just maybe I can
learn something here, I've read so much documentation I've got a headache,
if I can only get it once I'll know it. I learn best by doing.
Thanks
Mark
mfaine@bellsouth.net
mark.faine@msfc.nasa.gov
TEMPLATES:
main.ihtml
------------------------------------------------------------
<!-- BEGIN: Main.ihtml -->
<HTML>
<HEAD>
<TITLE>{PAGETITLE}</TITLE>
</HEAD>
<BODY>
<H2>{HEADER}</h2>
{out}
</BODY>
</HTML>
<!-- END: Main.ihtml -->
--------------------------------------------------------------------
cart.ithml
-----------------------------------------------------------------------
<!-- BEGIN: cart.ihtml -->
<table>
<tr>
<td align=left colspan=6 valign=top bordercolor="#000000"><font
size="1" face="Arial, Helvetica, sans-serif">Your
Cart Status:</font><font size="2" face="Arial, Helvetica,
sans-serif"> {STATUS}</font>
</td>
</tr>
<tr>
<td align=left valign=top bgcolor="#6b79d6"
bordercolor="#000000"><font color="#ffff66" size="2"
face="Arial, Helvetica,
sans-serif">Item</font></td>
<td align=left valign=top bgcolor="#6b79d6"
bordercolor="#000000"><font color="#ffff66" size="2"
face="Arial, Helvetica,
sans-serif">Title</font></td>
<td align=left valign=top bgcolor="#6b79d6"
bordercolor="#000000"><font color="#ffff66" size="2"
face="Arial, Helvetica,
sans-serif">Revision</font></td>
<td align=left valign=top bgcolor="#6b79d6"
bordercolor="#000000"><font color="#ffff66" size="2"
face="Arial, Helvetica,
sans-serif">Pages</font></td>
<td align=left valign=top bgcolor="#6b79d6"
bordercolor="#000000"><font color="#ffff66" size="2"
face="Arial, Helvetica,
sans-serif">Remove</font></td></TD>
</tr>
<!-- BEGIN row -->
<tr>
<td>{ITEM}</td>
<td>{TITLE}</td>
<td>{REVISION}</td>
<td>{PAGES}</td>
<td>{REMOVE}</td>
</tr>
<!-- END row -->
</table>
<!-- END: cart.ihtml -->
--------------------------------------------
SCRIPT - index.php
--------------------------------------------
<?
include 'database.php';
include 'template.inc';
# Create new instance of template called $t
$t = new Template("$DOCUMENT_ROOT/ihtml/", "comment");
# Set up files
$t->set_file( array (
"main" => "main.ihtml",
"cart" => "cart.ihtml")) ;
# define variables named main and cart, referencing files
$sys_dbtable='contents';
$sys_dbhost='localhost';
$sys_dbuser='root';
$sys_dbpasswd='8704';
$sys_dbname='cart';
# do db query here
$query="select * from $sys_dbtable";
$result = @mysql_db_query("$sys_dbname","$query");
$qresult=@msyql_fetch_array($result);
# assign results of query
$link = '<a href="./cart.php?action=remove&item="'.
$qresult["id"]. '">Remove</a>';
$t->set_var( array ( "ITEM" =>$qresult["item"],
"TITLE" =>$qresult["title"],
"REVISION" =>$qresult["revision"],
"PAGES" =>$qresult["pages"],
"REMOVE" => $link ));
if(@mysql_num_rows($qresult) != 0)
{
$status = @mysql_num_rows($qresult);
}else{
$status = "Your Cart is empty";
}
$t->set_var( array ("HEADER" => "MSFC Shopping Cart Test",
"PAGETITLE" => "Marks Test"));
$t->set_var ("STATUS", "$status");
# extract block named "row" from cart and assign it to page
$t->set_block("cart", "row", "page");
# after setting variables, append row contents to page
$t->parse("page", "row", true);
# Build out from cart, then build out from main
$t->parse("out", array ( "cart", "main"));
#finish out and print it
$t->p("out");
?>
<HR>
# report leftover variables if any
<?
print implode(", ", $t->get_undefined("page"));
?>
---------------------------------------------------------------------------
Thanks for even bothering to look at it
-Mark