一个用postgreSQL数据库和php写的留言本的源码(二)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>Message Board</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000FF" ALINK="#0000FF">
<DIV ALIGN="Center">
<TABLE BORDER="0" WIDTH="95%" CELLPADDING="2" CELLSPACING="0">
<TR ALIGN="Center" VALIGN="Middle">
<TD ALIGN="Left" VALIGN="Middle">
<?
$conn 
pg_Connect("localhost""5432""""""db");
if (!
$conn) {
echo 
"An error occurred.n";
exit;
}
$result pg_Exec($conn,"SELECT * FROM messageboard WHERE id=$selectid");
if (!
$result) {
echo 
"An error occurred.n";
exit;
}
$selectid pg_Result($result,0,0);
$selectparent pg_Result($result,0,1);
$selectthread pg_Result($result,0,2);
$selectlevel pg_Result($result,0,3);
$selectdate pg_Result($result,0,4);
$selecttopic pg_Result($result,0,5);
$selectbody pg_Result($result,0,6);
$selectauthor pg_Result($result,0,7);
$selectemail pg_Result($result,0,8);
$printdate date("F d, Y h:ia",mktime(substr($selectdate,8,2),substr($selectdate,10,2),0,substr($selectdate,4,2),substr($selectdate,6,2),substr($selectdate,0,4)));
echo 
"<FONT FACE="Arial"><B>$selecttopic</B></FONT>n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Center" VALIGN="Middle" BGCOLOR="#FF0000">n";
echo "<TABLE BORDER="0" WIDTH="100%" CELLPADDING="2" CELLSPACING="0">n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Center" VALIGN="Middle" BGCOLOR="#FFFFFF">n";
echo "<TABLE BORDER="0" WIDTH="100%" CELLPADDING="0" CELLSPACING="0">n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
if (empty(
$selectemail)) {
echo 
"<FONT FACE="Arial" SIZE="2">Posted by $selectauthor</FONT>n";
} else {
echo 
"<FONT FACE="Arial" SIZE="2">Posted by <A HREF="mailto:$selectemail" onMouseover="window.status='$selectauthor'; return true" onMouseOut="window.status=''; return true">$selectauthor</A></FONT>n";
}
echo 
"</TD>n";
echo 
"<TD ALIGN="Right" VALIGN="Middle">n";
echo 
"<FONT FACE="Arial" SIZE="2">$printdate</FONT>n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Middle" COLSPAN="2">n";
echo 
"<FONT FACE="Arial">&nbsp;</FONT>n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Middle" COLSPAN="2">n";
echo 
"<FONT FACE="Arial">$selectbody</FONT>n";
echo 
"</TD>n";
echo 
"</TR>n";
pg_FreeResult($result);
echo 
"</TABLE>n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"</TABLE>n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"</TABLE>n";
echo 
"<BR><BR>n";
echo 
"<TABLE BORDER="0" WIDTH="95%" CELLPADDING="2" CELLSPACING="0">n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"<FONT FACE="Arial"><B>Current thread</B></FONT>n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Center" VALIGN="Middle" BGCOLOR="#0000AA">n";
echo "<TABLE BORDER="0" WIDTH="100%" CELLPADDING="2" CELLSPACING="0">n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Center" VALIGN="Middle" BGCOLOR="#000000">n";
echo "<TABLE BORDER="0" WIDTH="100%" CELLPADDING="0" CELLSPACING="0">n";
$result pg_Exec($conn,"SELECT * FROM messageboard WHERE thread=$selectthread ORDER BY id");
if (!
$result) {
echo 
"An error occurred.n";
exit;
}
$num pg_NumRows($result);
$i 0;
while (
$i $num) {
$threadid pg_Result($result,$i,0);
$threadparent pg_Result($result,$i,1);
$threadthread pg_Result($result,$i,2);
$threadlevel pg_Result($result,$i,3);
$threaddate pg_Result($result,$i,4);
$threadtopic pg_Result($result,$i,5);
$threadauthor pg_Result($result,$i,7);
$threademail pg_Result($result,$i,8);
$printdate date("F d, Y h:ia",mktime(substr($threaddate,8,2),substr($threaddate,10,2),0,substr($threaddate,4,2),substr($threaddate,6,2),substr($threaddate,0,4)));
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Middle" WIDTH="50%">n";
$j 0;
while (
$j $threadlevel) {
echo 
"&nbsp;&nbsp;&nbsp;";
$j++;
}
if (
$threadid == $selectid) {
echo 
"<FONT FACE="Arial" SIZE="2"><B><A HREF="message.php3?selectid=$threadid" onMouseover="window.status='$threadtopic'; return true" onMouseOut="window.status=''; return true">$threadtopic</A></B></FONT>n";
} else {
echo 
"<FONT FACE="Arial" SIZE="2"><A HREF="message.php3?selectid=$threadid" onMouseover="window.status='$threadtopic'; return true" onMouseOut="window.status=''; return true">$threadtopic</A></FONT>n";
}
echo 
"</TD>n";
echo 
"<TD ALIGN="Left" VALIGN="Middle" WIDTH="15%" NOWRAP>n";
if (empty(
$threademail)) {
if (
$threadid == $selectid) {
echo 
"<FONT FACE="Arial" SIZE="2"><B>$threadauthor</B></FONT>n";
} else {
echo 
"<FONT FACE="Arial" SIZE="2">$threadauthor</FONT>n";
}
} else {
if (
$threadid == $selectid) {
echo 
"<FONT FACE="Arial" SIZE="2"><B><A HREF="mailto:$threademail" onMouseover="window.status='$threadauthor'; return true" onMouseOut="window.status=''; return true">$threadauthor</A></B></FONT>n";
} else {
echo 
"<FONT FACE="Arial" SIZE="2"><A HREF="mailto:$threademail" onMouseover="window.status='$threadauthor'; return true" onMouseOut="window.status=''; return true">$threadauthor</A></FONT>n";
}
}
echo 
"</TD>n";
echo 
"<TD ALIGN="Right" VALIGN="Middle" WIDTH="35%">n";
if (
$threadid == $selectid) {
echo 
"<FONT FACE="Arial" SIZE="2"><B>$printdate</B></FONT>n";
} else {
echo 
"<FONT FACE="Arial" SIZE="2">$printdate</FONT>n";
}
echo 
"</TD>n";
echo 
"</TR>n";
$i++;
}
pg_FreeResult($result);
echo 
"</TABLE>n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"</TABLE>n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"</TABLE>n";
echo 
"<BR><BR>n";
echo 
"<TABLE BORDER="0" WIDTH="95%" CELLPADDING="2" CELLSPACING="0">n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"<FONT FACE="Arial"><B>Reply to this post</B></FONT>n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Center" VALIGN="Middle" BGCOLOR="#0000AA">n";
echo "<TABLE BORDER="0" WIDTH="100%" CELLPADDING="2" CELLSPACING="0">n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Center" VALIGN="Middle" BGCOLOR="#000000">n";
echo "<TABLE BORDER="0" WIDTH="100%" CELLPADDING="0" CELLSPACING="0">n";
$result pg_Exec($conn,"SELECT * FROM messageboard ORDER BY id");
if (!
$result) {
echo 
"An error occurred.n";
exit;
}
$num pg_NumRows($result);
$i $num 1;
$replyparent $selectid;
$replylevel $selectlevel 1;
$selectid pg_Result($result,$i,0);
$replyid $selectid 1;
$replythread $selectthread;
$replydate date("YmdHi");
echo 
"<FORM ACTION="admin.php3" METHOD="Post">n";
echo 
"<INPUT TYPE="Hidden" NAME="selectpage" VALUE="message.php3">n";
echo 
"<INPUT TYPE="Hidden" NAME="selectid" VALUE="$replyid">n";
echo 
"<INPUT TYPE="Hidden" NAME="selectparent" VALUE="$replyparent">n";
echo 
"<INPUT TYPE="Hidden" NAME="selectthread" VALUE="$replythread">n";
echo 
"<INPUT TYPE="Hidden" NAME="selectlevel" VALUE="$replylevel">n";
echo 
"<INPUT TYPE="Hidden" NAME="selectdate" VALUE="$replydate">n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"<FONT FACE="Arial" SIZE="2"><B>Name:</B>&nbsp;</FONT>n";
echo 
"</TD>n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"<INPUT TYPE="Text" NAME="selectauthor" SIZE="30" MAXLENGTH="30" VALUE="">n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"<FONT FACE="Arial" SIZE="2"><B>Email:</B>&nbsp;</FONT>n";
echo 
"</TD>n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"<INPUT TYPE="Text" NAME="selectemail" SIZE="55" MAXLENGTH="100" VALUE="">n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"<FONT FACE="Arial" SIZE="2"><B>Topic:</B>&nbsp;</FONT>n";
echo 
"</TD>n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"<INPUT TYPE="Text" NAME="selecttopic" SIZE="55" MAXLENGTH="100" VALUE="Re$selecttopic">n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Top">n";
echo 
"<FONT FACE="Arial" SIZE="2"><B>Text:</B>&nbsp;</FONT>n";
echo 
"</TD>n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"<TEXTAREA NAME="selectbody" COLS="55" ROWS="10" WRAP="Virtual"></TEXTAREA>n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"&nbsp;n";
echo 
"</TD>n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"&nbsp;n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"<TR ALIGN="Center" VALIGN="Middle">n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"&nbsp;n";
echo 
"</TD>n";
echo 
"<TD ALIGN="Left" VALIGN="Middle">n";
echo 
"<INPUT TYPE="Submit" VALUE="Reply">&nbsp;<INPUT TYPE="Reset" VALUE="Clear Fields">n";
echo 
"</TD>n";
echo 
"</TR>n";
echo 
"</FORM>n";
pg_FreeResult($result);
pg_Close($conn);
?>
</TABLE>
</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
<BR><BR>
</DIV>
</BODY>
</HTML>


//以上是message.php3文件


//数据表
CREATE TABLE messageboard (
id int,
parent int,
thread int,
level int,
date text,
topic text,
body text,
author text,
email text );