Weiter Zurück [Inhalt] Online Suche im Handbuch

58.7 PHP Listing

<HTML>
<?
/* Script Name:    contact.html
Script Purpose: Simple Contact Database Script Version: 1.1
Script Author:  Michael J. Miller Jr. (mke@netcom.com)
*/
/* First let's set some variables. */
$hostname = "localhost";
$password = "grok";
$user = "contact";
/* Now to define functions. */
/* The main screen.  Printed when $state is empty. */
Function Main_Menu (
echo "<H1><CENTER> Welcome To The Contact Database "; 
echo "You have the following choices:";
echo "<FORM METHOD = \"POST\" ACTION=\"contact.html\">";
echo "<INPUT CHECKED TYPE=\"radio\" NAME=\"state\" VALUE=\"List\"><B> List
Contacts.<BR>";
echo "<INPUT TYPE=\"radio\" NAME=\"state\" VALUE=\"Create\"><B>Create a new
Contact.<P>";
echo "<INPUT TYPE=\"submit\" VALUE=\"Make Contact\">";
echo "";
);
/* List the first and last name of people in the contact database plus their 
phone number.  Make the last name clickable for the full record. */ 
Function List (
echo "<CENTER><H2>Contact List<P>";
mysql_connect($hosthame,$user,$password);
$result = mysql("ContactDB","SELECT uid, last_name, first_name, phone FROM
contact ORDER BY last_name");
echo "<TABLE BORDER = 10 CELLPADDING = 2>";
$total_rows = mysql_numrows($result); $counter = 0;
echo "<TR><TD><B>Last Name<TD><B>First Name<TD><B>Work
Phone";
while($counter < $total_rows);
$uid = mysql_result($result,$counter,"uid"); echo "<TR><TD>\n";
echo "<A HREF=contact.html?uid=$uid=Print_Contact>"; 
echo mysql_result($result,$counter,"last_name");
echo "\n";
echo "<TD>\n";
echo mysql_result($result,$counter,"first_name"); echo "<TD>\n";
echo mysql_result($result,$counter,"phone"); echo "\n";
$counter = $counter + 1;
endwhile;
echo "";
);
/* Save updates to database.  Call Print_Contact to list new information
for updated contact entry. */
Function Commit_Update $uid $fn $mi $ln $ph $fx $em (
mysql_connect($hosthame,$user,$password);
$result = mysql("ContactDB","UPDATE contact SET first_name = '$fn',
middle_initial = '$mi', last_name = '$ln', phone = '$ph', fax = '$fx', 
email = '$em' WHERE uid = $uid");
$state = "";
Print_Contact($uid);
);
/* Save new contact information to database.  Call Print_Contact to display
new contact entry. */
Function  Commit_Contact $fn $mi $ln $ph $fx $em (
mysql_connect($hostname,$user,$password);
$result = mysql("ContactDB","SELECT now()"); /* Get the Current Datetime */
/* Note that it would be
better to use a field
of type TIMESTAMP here,
since it would automatically
assign the current date and
time.  I haven't done that
here since I wanted to
demonstrate using functions
in MySQL. */
$now = mysql_result($result,0,"now()");
$result = mysql("ContactDB","INSERT INTO contact 
(first_name, middle_initial,last_name, phone, fax, email) 
VALUES ('$fn', '$mi','$ln', '$ph', '$fx', '$em')");
$new_uid = mysql_insert_id();
$result = mysql("ContactDB","INSERT INTO comment (uid, contact_date,
contact_comment) VALUES ($new_uid, '$now' , 'Contact Record Created')");
$state = "";
Print_Contact($new_uid);
);
/* This function displays the contact nformation in a form.  It is used
for both the create and update contact options. */
Function Contact_Form $state,$uid (
if($state == "Update");
$state = "Commit_Update";
$result = mysql("ContactDB","SELECT * FROM contact WHERE uid = $uid");
$last_name = mysql_result($result,0,"last_name"); 
$first_name = mysql_result($result,0,"first_name"); 
$middle_initial = mysql_result($result,0,"middle_initial"); 
$phone = mysql_result($result,0,"phone");
$fax = mysql_result($result,0,"fax"); $email =
mysql_result($result,0,"email");
else;
$state = "Commit_Contact";
endif;
echo "<CENTER><H2>Contact Form<P>\n";
echo "<FORM METHOD = \"POST\" ACTION=\"contact.html\">\n";
echo "   <INPUT TYPE = \"HIDDEN\" NAME = \"uid\" VALUE = \"$uid\">\n"; echo
"   
<INPUT TYPE = \"HIDDEN\" NAME = \"state\" VALUE = \"$state\">\n";
echo "   First Name: <BR><INPUT TYPE = \"TEXT\" NAME=\"first_name\" \n";
echo "   
VALUE = \"$first_name\" MAXLENGTH = 20><BR>\n";
echo "   Middle Initial: <BR><INPUT TYPE = \"TEXT\" NAME=\"middle_initial\"
\n";
echo "   VALUE = \"$middle_initial\" MAXLENGTH = 1 SIZE = 2><BR>\n";
echo "   Last Name: <BR><INPUT TYPE = \"TEXT\" NAME=\"last_name\" \n"; echo
"   
VALUE = \"$last_name\" MAXLENGTH = 30><BR><P>\n";
echo "   Phone: <BR><INPUT TYPE = \"TEXT\" NAME=\"phone\" \n"; echo "   
VALUE = \"$phone\" MAXLENGTH = 30><BR>\n";
echo "   Fax: <BR><INPUT TYPE = \"TEXT\" NAME=\"fax\" \n"; echo "   
VALUE = \"$fax\" MAXLENGTH = 30><BR>\n";
echo "   Email: <BR><INPUT TYPE = \"TEXT\" NAME=\"email\" \n"; echo "   
VALUE = \"$email\" MAXLENGTH = 70 SIZE = 40><P>\n";
echo "   <CENTER><INPUT TYPE=\"submit\" VALUE=\"Submit
Contact\">\n"; 
echo "\n";
);
/* Add a comment to the database.  Call Print_Contact to display changes. */
Function Add_Comment $uid $contact_comment (
mysql_connect($hosthame,$user,$password);
$result = mysql("ContactDB","SELECT now()"); /* Get the Current Datetime */
$now = mysql_result($result,0,"now()");
$result = mysql("ContactDB","INSERT INTO comment (uid, contact_date,
contact_comment) VALUES ($uid, '$now', '$contact_comment')");
Print_Contact($uid);
);
/* Print address and comments for a contact.  Also give option to update
or add comments. */
Function Print_Contact $uid (
mysql_connect($hosthame,$user,$password);
$result = mysql("ContactDB","SELECT * FROM contact WHERE uid = $uid");
$name = mysql_result($result,0,"first_name");
$name = $name + " " + mysql_result($result,0,"middle_initial"); 
$name = $name + " " + mysql_result($result,0,"last_name");
echo "<TITLE>Contact Information For $name"; echo "";
echo "<HTML>";
echo "<CENTER><H2>Contact Information For $name";
echo "<TABLE BORDER = 10 CELLPADDING = 2>";
echo "<TR><TD>Name";
echo "<TD>$name";
$result = mysql("ContactDB","SELECT * FROM contact WHERE uid = $uid");
echo "<TR><TD>Phone";
echo "<TD>";
echo mysql_result($result,0,"phone"); echo "\n";
echo "<TR><TD>Fax";
echo "<TD>";
echo mysql_result($result,0,"fax");
echo "\n";
$email = mysql_result($result,0,"email");
echo "<TR><TD>Email Address";
echo "<TD><A HREF=\"MAILTO:";
echo "$email \"> $email";
echo "\n";
echo "";
echo "<FORM METHOD = \"POST\" ACTION=\"contact.html\">";
echo "   <INPUT TYPE = \"HIDDEN\" NAME = \"uid\" VALUE = \"$uid\">\n"; echo
"   
<INPUT TYPE = \"HIDDEN\" NAME = \"state\" VALUE = \"Update\">\n"; 
echo "<CENTER><INPUT TYPE=\"submit\" VALUE=\"Update Contact
Information\">";
echo "<P><HR WIDTH=\"100%\">";
echo "<CENTER><H2>Comments For This Contact";
echo "";
$result = mysql("ContactDB","SELECT * FROM comment WHERE uid = $uid ORDER BY
contact_date");
$total_rows = mysql_numrows($result); $counter = 0;
echo "<TABLE BORDER = 10 CELLPADDING = 2>"; echo
"<TR><TD>Date<TD>Comment"; 
while($counter < $total_rows);
echo "<TR><TD>";
echo mysql_result($result,$counter,"contact_date"); echo "<TD>";
echo mysql_result($result,$counter,"contact_comment"); echo "";
$counter = $counter + 1;
endwhile;
echo "";
echo "<P>Add new comment below.";
echo "<FORM METHOD = \"POST\" ACTION=\"contact.html\">";
echo "<P><INPUT TYPE = \"TEXT\" NAME = \"contact_comment\" "; 
echo "MAXLENGTH = 60 SIZE = 60><BR>";
echo "<INPUT TYPE = \"HIDDEN\" NAME = \"uid\" VALUE = \"$uid\"><P>";
echo "<INPUT TYPE = \"HIDDEN\" NAME = \"state\" VALUE =
\"Add_Comment\"><P>";
echo "<CENTER><INPUT TYPE=\"submit\" VALUE = \"Submit Comment\">";
echo "<P>";
echo "<FORM METHOD = \"POST\" ACTION=\"contact.html\">"; 
echo "<CENTER><INPUT TYPE=\"submit\" VALUE=\"Return To Main
Menu\">";
echo "\n";
);
/* The main loop.  Call functions based on the value of $state, which 
gets set via a hidden INPUT TYPE. */
switch($state) {
case "";
Main_Menu();
break;
case "List";
List();
break;
case "Create";
Contact_Form($state, $uid);
break;
case "Update";
Contact_Form($state, $uid);
break;
case "Commit_Update";
Commit_Update($uid,$first_name,$middle_initial,$last_name,$phone,$fax,$ema
il);
break;
case "Commit_Contact";
Commit_Contact($first_name,$middle_initial,$last_name,$phone,$fax,$email);
break;
case "Add_Comment";
Add_Comment($uid,$contact_comment);
break;
case "Print_Contact";
Print_Contact($uid);
endswitch;
>



Weiter Zurück [Inhalt] Online Suche im Handbuch