Chapter 4 Code - Using Tables to Display Data
Try It Out 1
<?php
$movie=<<<EOD
<h2><center>Movie Review Database</center></h2>
<table width='70%' border='1' cellpadding='2'
cellspacing='2' align='center'>
<tr>
<th>Movie Title</th>
<th>Year of Release</th>
<th>Movie Director</th>
<th>Movie Lead Actor</th>
<th>Movie Type</th>
</tr>
</table>
EOD;
echo $movie;
?>
Try It Out 2,3
<?php
$link = mysql_connect("servername","username","userpassword") or die(mysql_error());
mysql_select_db("wiley") or die (mysql_error());
$query = "SELECT
movie_name,
movie_director,
movie_leadactor
FROM
movie";
$result = mysql_query($query,$link) or die(mysql_error());
$num_movies = mysql_num_rows($result);
$movie_header=<<<EOD
<h2><center>Movie Review Database</center></h2>
<table width='70%' border='1' cellpadding='2'
cellspacing='2' align='center'>
<tr>
<th>Movie Title</th>
<th>Movie Director</th>
<th>Movie Lead Actor</th>
</tr>
EOD;
while($row = mysql_fetch_array($result))
{
$movie_name = $row['movie_name'];
$movie_director = $row['movie_director'];
$movie_leadactor = $row['movie_leadactor'];
$movie_details .=<<<EOD
<tr>
<td>$movie_name</td>
<td>$movie_director</td>
<td>$movie_leadactor</td>
</tr>
EOD;
}
$movie_details .=<<<EOD
<tr>
<td> </td>
</tr>
<tr>
<td>Total :$num_movies Movies</td>
</tr>
EOD;
$movie_footer ="</table>";
$movie =<<<MOVIE
$movie_header
$movie_details
$movie_footer
MOVIE;
print "There are $num_movies movies in our database";
print $movie;
?>
Try It Out 4
<?php
$link = mysql_connect("localhost","root","mysqlpass") or die(mysql_error());
mysql_select_db("wiley") or die (mysql_error());
$query = "SELECT
movie_name,
movie_director,
movie_leadactor
FROM
movie";
$result = mysql_query($query,$link) or die(mysql_error());
$num_movies = mysql_num_rows($result);
$movie_header=<<<EOD
<h2><center>Movie Review Database</center></h2>
<table width='70%' border='1' cellpadding='2'
cellspacing='2' align='center'>
<tr>
<th>Movie Title</th>
<th>Movie Director</th>
<th>Movie Lead Actor</th>
</tr>
EOD;
function get_director() {
global $movie_director;
global $director;
$query_d = "SELECT people_fullname
FROM people
WHERE people_id='$movie_director' ";
$results_d = mysql_query($query_d) or die(mysql_error());
$row_d = mysql_fetch_array($results_d);
extract ($row_d);
$director = $people_fullname;
}
function get_leadactor() {
global $movie_leadactor;
global $leadactor;
$query_a = "SELECT people_fullname
FROM people
WHERE people_id='$movie_leadactor'";
$results_a = mysql_query($query_a) or die(mysql_error());
$row_a = mysql_fetch_array($results_a);
extract ($row_a);
$leadactor = $people_fullname;
}
while($row = mysql_fetch_array($result))
{
$movie_name = $row['movie_name'];
$movie_director = $row['movie_director'];
$movie_leadactor = $row['movie_leadactor'];
//get director's name from people table
get_director($movie_director);
//get lead actor's name from people table
get_leadactor($movie_leadactor);
$movie_details .=<<<EOD
<tr>
<td>$movie_name</td>
<td>$director</td>
<td>$leadactor</td>
</tr>
EOD;
}
$movie_details .=<<<EOD
<tr>
<td>Total :$num_movies Movies</td>
</tr>
EOD;
$movie_footer ="</table>";
$movie =<<<MOVIE
$movie_header
$movie_details
$movie_footer
MOVIE;
print "There are $num_movies movies in our database";
print $movie;
?>
Try It Out 5
<?php
$link = mysql_connect("localhost","root","mysqlpass") or die(mysql_error());
mysql_select_db("wiley") or die (mysql_error());
$query = "SELECT
movie_id,
movie_name,
movie_director,
movie_leadactor
FROM
movie";
$result = mysql_query($query,$link) or die(mysql_error());
$num_movies = mysql_num_rows($result);
$movie_header=<<<EOD
<h2><center>Movie Review Database</center></h2>
<table width='70%' border='1' cellpadding='2'
cellspacing='2' align='center'>
<tr>
<th>Movie Title</th>
<th>Movie Director</th>
<th>Movie Lead Actor</th>
</tr>
EOD;
function get_director() {
global $movie_director;
global $director;
$query_d = "SELECT people_fullname
FROM people
WHERE people_id='$movie_director' ";
$results_d = mysql_query($query_d) or die(mysql_error());
$row_d = mysql_fetch_array($results_d);
extract ($row_d);
$director = $people_fullname;
}
function get_leadactor() {
global $movie_leadactor;
global $leadactor;
$query_a = "SELECT people_fullname
FROM people
WHERE people_id='$movie_leadactor'";
$results_a = mysql_query($query_a) or die(mysql_error());
$row_a = mysql_fetch_array($results_a);
extract ($row_a);
$leadactor = $people_fullname;
}
while($row = mysql_fetch_array($result))
{
$movie_id = $row['movie_id'];
$movie_name = $row['movie_name'];
$movie_director = $row['movie_director'];
$movie_leadactor = $row['movie_leadactor'];
//get director's name from people table
get_director($movie_director);
//get lead actor's name from people table
get_leadactor($movie_leadactor);
$movie_details .=<<<EOD
<tr>
<td><a href='movie_details.php?movie_id=$movie_id'title=
'Find out more about $movie_name'>$movie_name</a></td>
<td>$director</td>
<td>$leadactor</td>
</tr>
EOD;
}
$movie_details .=<<<EOD
<tr>
<td>Total :$num_movies Movies</td>
</tr>
EOD;
$movie_footer ="</table>";
$movie =<<<MOVIE
$movie_header
$movie_details
$movie_footer
MOVIE;
print "There are $num_movies movies in our database";
print $movie;
?>
Try It Out 6
<?php
$link = mysql_connect("localhost","root","mysqlpass") or die(mysql_error());
mysql_select_db("wiley") or die (mysql_error());
//alter "movie" table to include running time/cost/takings fields
$add = "ALTER TABLE movie ADD COLUMN (
movie_running_time int NULL,
movie_cost int NULL,
movie_takings int NULL)";
$results = mysql_query($add)
or die(mysql_error());
//insert new data into "movie" table for each movie
$update="UPDATE movie SET
movie_running_time=102,
movie_cost=10,
movie_takings=15
WHERE movie_id = 1";
$results = mysql_query($update)
or die(mysql_error());
$update="UPDATE movie SET
movie_running_time=90,
movie_cost=3,
movie_takings=90
WHERE movie_id = 2";
$results = mysql_query($update)
or die(mysql_error());
$update="UPDATE movie SET
movie_running_time=134,
movie_cost=15,
movie_takings=10
WHERE movie_id = 3";
$results = mysql_query($update)
or die(mysql_error());
?>
Try It Out 7
<?php
$link = mysql_connect("localhost","root","mysqlpass")
or die(mysql_error());
mysql_select_db("wiley") or die (mysql_error());
/* Function to calculate if a movie made a profit,
loss or broke even */
function calculate_differences($takings,$cost)
{
$difference = $takings - $cost;
if($difference <0)
{
$difference = substr($difference,1);
$font_color ='red';
$profit_or_loss = "$".$difference."m";
}elseif($difference >0){
$font_color ='green';
$profit_or_loss = "$".$difference."m";
}else{
$font_color ='blue';
$profit_or_loss = "Broke even";
}
return "<font color='$font_color'>".$profit_or_loss."</font>";
}
?>
Try It Out 8
<?php
$link = mysql_connect("localhost","root","mysqlpass")
or die(mysql_error());
mysql_select_db("wiley") or die (mysql_error());
/* Function to calculate if a movie made a profit,
loss or broke even */
function calculate_differences($takings,$cost)
{
$difference = $takings - $cost;
if($difference <0)
{
$difference = substr($difference,1);
$font_color ='red';
$profit_or_loss = "$".$difference."m";
}elseif($difference >0){
$font_color ='green';
$profit_or_loss = "$".$difference."m";
}else{
$font_color ='blue';
$profit_or_loss = "Broke even";
}
return "<font color='$font_color'>".$profit_or_loss."</font>";
}
/* Function to get the director's name from the people table */
function get_director() {
global $movie_director;
global $director;
$query_d = "SELECT people_fullname
FROM people
WHERE people_id='$movie_director' ";
$results_d = mysql_query($query_d) or die(mysql_error());
$row_d = mysql_fetch_array($results_d);
extract ($row_d);
$director = $people_fullname;
}
/* Function to get the lead actor's name from the people table */
function get_leadactor() {
global $movie_leadactor;
global $leadactor;
$query_a = "SELECT people_fullname
FROM people
WHERE people_id='$movie_leadactor'";
$results_a = mysql_query($query_a) or die(mysql_error());
$row_a = mysql_fetch_array($results_a);
extract ($row_a);
$leadactor = $people_fullname;
}
$query = "SELECT
*
FROM
movie
WHERE
movie_id ='".$_GET['movie_id']."'";
$result = mysql_query($query,$link) or die(mysql_error());
$movie_table_headings=<<<EOD
<tr>
<th>Movie Title</th>
<th>Year of Release</th>
<th>Movie Director</th>
<th>Movie Lead Actor</th>
<th>Movie Running Time</th>
<th>Movie Health</th>
</tr>
EOD;
while($row = mysql_fetch_array($result))
{
$movie_name = $row['movie_name'];
$movie_director = $row['movie_director'];
$movie_leadactor = $row['movie_leadactor'];
$movie_year = $row['movie_year'];
$movie_running_time = $row['movie_running_time']." mins";
$movie_takings = $row['movie_takings'];
$movie_cost = $row['movie_cost'];
//get director's name from people table
get_director($movie_director);
//get lead actor's name from people table
get_leadactor($movie_leadactor);
}
?>
Try It Out 9
<?php
$link = mysql_connect("localhost","root","mysqlpass")
or die(mysql_error());
mysql_select_db("wiley") or die (mysql_error());
/* Function to calculate if a movie made a profit,
loss or broke even */
function calculate_differences($takings,$cost)
{
$difference = $takings - $cost;
if($difference <0)
{
$difference = substr($difference,1);
$font_color ='red';
$profit_or_loss = "$".$difference."m";
}elseif($difference >0){
$font_color ='green';
$profit_or_loss = "$".$difference."m";
}else{
$font_color ='blue';
$profit_or_loss = "Broke even";
}
return "<font color='$font_color'>".$profit_or_loss."</font>";
}
/* Function to get the director's name from the people table */
function get_director() {
global $movie_director;
global $director;
$query_d = "SELECT people_fullname
FROM people
WHERE people_id='$movie_director' ";
$results_d = mysql_query($query_d) or die(mysql_error());
$row_d = mysql_fetch_array($results_d);
extract ($row_d);
$director = $people_fullname;
}
/* Function to get the lead actor's name from the people table */
function get_leadactor() {
global $movie_leadactor;
global $leadactor;
$query_a = "SELECT people_fullname
FROM people
WHERE people_id='$movie_leadactor'";
$results_a = mysql_query($query_a) or die(mysql_error());
$row_a = mysql_fetch_array($results_a);
extract ($row_a);
$leadactor = $people_fullname;
}
$query = "SELECT
*
FROM
movie
WHERE
movie_id ='".$_GET['movie_id']."'";
$result = mysql_query($query,$link) or die(mysql_error());
$movie_table_headings=<<<EOD
<tr>
<th>Movie Title</th>
<th>Year of Release</th>
<th>Movie Director</th>
<th>Movie Lead Actor</th>
<th>Movie Running Time</th>
<th>Movie Health</th>
</tr>
EOD;
while($row = mysql_fetch_array($result))
{
$movie_name = $row['movie_name'];
$movie_director = $row['movie_director'];
$movie_leadactor = $row['movie_leadactor'];
$movie_year = $row['movie_year'];
$movie_running_time = $row['movie_running_time']." mins";
$movie_takings = $row['movie_takings'];
$movie_cost = $row['movie_cost'];
//get director's name from people table
get_director($movie_director);
//get lead actor's name from people table
get_leadactor($movie_leadactor);
}
$movie_health =
calculate_differences($movie_takings,$movie_cost);
$page_start =<<<EOD
<HTML>
<head>
<title>Details and Reviews for: $movie_name</title>
</head>
<body>
EOD;
$movie_details =<<<EOD
<table width='70%' border='0' cellspacing='2' cellpadding='2' align='center'>
<tr>
<th colspan='6'><u><h2>$movie_name: Details</h2></u></th>
</tr>
$movie_table_headings
<tr>
<td width='33%' align='center'>$movie_name</td>
<td align='center'>$movie_year</td>
<td align='center'>$director</td>
<td align='center'>$leadactor</td>
<td align='center'>$movie_running_time</td>
<td align='center'>$movie_health</td>
</tr>
</table>
<br />
<br />
EOD;
$page_end =<<<EOD
</body>
</HTML>
EOD;
$detailed_movie_info =<<<EOD
$page_start
$movie_details
$page_end
EOD;
echo $detailed_movie_info;
mysql_close();
?>
Try It Out 10
<?php
//connect to MySQL
$connect = mysql_connect("localhost", "root", "mysqlpass") or
die ("Hey loser, check your server connection.");
mysql_select_db ("wiley");
//create "reviews" table
$reviews = "CREATE TABLE reviews (
review_movie_id int(11) NOT NULL,
review_date date NOT NULL,
review_name varchar(255) NOT NULL,
review_reviewer_name varchar(255) NOT NULL,
review_comment varchar(255) NOT NULL,
review_rating int(11) NOT NULL default 0,
KEY (review_movie_id),
) TYPE=MyISAM";
$results = mysql_query($reviews)
or die (mysql_error());
//populate the "reviews" table
$insert = "INSERT INTO reviews
(review_movie_id, review_date, review_name,
review_reviewer_name, review_comment, review_rating)
VALUES
('1', '2003-08-02', 'This movie rocks!',
'John Doe','I thought this was a great movie even though
my girlfriend made me see it against my will.' ,'4'),
('1','2003-08-01','An okay movie',
'Billy Bob','This was an okay movie. I liked Eraserhead better.','2'),
('1','2003-08-10','Woo hoo!',
'Peppermint Patty','Wish I\'d have seen it sooner!','5'),
('2','2003-08-01','My favorite movie',
'Marvin Marian','I didn\'t wear my flair to the movie but I loved
it anyway.','5'),
('3','2003-08-01','An awesome time',
'George B.','I liked this movie, even though I thought it was
an informational video from our travel agent.','3')";
$insert_results = mysql_query($insert)
or die(mysql_error());
?>
Try It Out 11
<?php
$link = mysql_connect("localhost","root","mysqlpass")
or die(mysql_error());
mysql_select_db("wiley") or die (mysql_error());
/* Function to calculate if a movie made a profit,
loss or broke even */
function calculate_differences($takings,$cost)
{
$difference = $takings - $cost;
if($difference <0)
{
$difference = substr($difference,1);
$font_color ='red';
$profit_or_loss = "$".$difference."m";
}elseif($difference >0){
$font_color ='green';
$profit_or_loss = "$".$difference."m";
}else{
$font_color ='blue';
$profit_or_loss = "Broke even";
}
return "<font color='$font_color'>".$profit_or_loss."</font>";
}
/* Function to get the director's name from the people table */
function get_director() {
global $movie_director;
global $director;
$query_d = "SELECT people_fullname
FROM people
WHERE people_id='$movie_director' ";
$results_d = mysql_query($query_d) or die(mysql_error());
$row_d = mysql_fetch_array($results_d);
extract ($row_d);
$director = $people_fullname;
}
/* Function to get the lead actor's name from the people table */
function get_leadactor() {
global $movie_leadactor;
global $leadactor;
$query_a = "SELECT people_fullname
FROM people
WHERE people_id='$movie_leadactor'";
$results_a = mysql_query($query_a) or die(mysql_error());
$row_a = mysql_fetch_array($results_a);
extract ($row_a);
$leadactor = $people_fullname;
}
$movie_query = "SELECT
*
FROM
movie
WHERE
movie_id ='".$_GET['movie_id']."'";
$movie_result = mysql_query($movie_query,$link) or die(mysql_error());
$movie_table_headings=<<<EOD
<tr>
<th>Movie Title</th>
<th>Year of Release</th>
<th>Movie Director</th>
<th>Movie Lead Actor</th>
<th>Movie Running Time</th>
<th>Movie Health</th>
</tr>
EOD;
while($row = mysql_fetch_array($movie_result))
{
$movie_name = $row['movie_name'];
$movie_director = $row['movie_director'];
$movie_leadactor = $row['movie_leadactor'];
$movie_year = $row['movie_year'];
$movie_running_time = $row['movie_running_time']." mins";
$movie_takings = $row['movie_takings'];
$movie_cost = $row['movie_cost'];
//get director's name from people table
get_director($movie_director);
//get lead actor's name from people table
get_leadactor($movie_leadactor);
}
$review_query = "SELECT
*
FROM
reviews
WHERE
review_movie_id ='".$_GET['movie_id']."'
ORDER BY
review_date DESC";
$review_result = mysql_query($review_query,$link) or die(mysql_error());
$movie_health =
calculate_differences($movie_takings,$movie_cost);
$page_start =<<<EOD
<HTML>
<head>
<title>Details and Reviews for: $movie_name</title>
</head>
<body>
EOD;
$movie_details =<<<EOD
<table width='70%' border='0' cellspacing='2' cellpadding='2' align='center'>
<tr>
<th colspan='6'><u><h2>$movie_name: Details</h2></u></th>
</tr>
$movie_table_headings
<tr>
<td width='33%' align='center'>$movie_name</td>
<td align='center'>$movie_year</td>
<td align='center'>$director</td>
<td align='center'>$leadactor</td>
<td align='center'>$movie_running_time</td>
<td align='center'>$movie_health</td>
</tr>
</table>
<br />
<br />
EOD;
$page_end =<<<EOD
</body>
</HTML>
EOD;
$detailed_movie_info =<<<EOD
$page_start
$movie_details
$page_end
EOD;
echo $detailed_movie_info;
mysql_close();
?>
Try It Out 12
<?php
$link = mysql_connect("localhost","root","mysqlpass")
or die(mysql_error());
mysql_select_db("wiley") or die (mysql_error());
/* Function to calculate if a movie made a profit,
loss or broke even */
function calculate_differences($takings,$cost)
{
$difference = $takings - $cost;
if($difference <0)
{
$difference = substr($difference,1);
$font_color ='red';
$profit_or_loss = "$".$difference."m";
}elseif($difference >0){
$font_color ='green';
$profit_or_loss = "$".$difference."m";
}else{
$font_color ='blue';
$profit_or_loss = "Broke even";
}
return "<font color='$font_color'>".$profit_or_loss."</font>";
}
/* Function to get the director's name from the people table */
function get_director() {
global $movie_director;
global $director;
$query_d = "SELECT people_fullname
FROM people
WHERE people_id='$movie_director' ";
$results_d = mysql_query($query_d) or die(mysql_error());
$row_d = mysql_fetch_array($results_d);
extract ($row_d);
$director = $people_fullname;
}
/* Function to get the lead actor's name from the people table */
function get_leadactor() {
global $movie_leadactor;
global $leadactor;
$query_a = "SELECT people_fullname
FROM people
WHERE people_id='$movie_leadactor'";
$results_a = mysql_query($query_a) or die(mysql_error());
$row_a = mysql_fetch_array($results_a);
extract ($row_a);
$leadactor = $people_fullname;
}
function generate_ratings($review_rating)
{
for($i=0;$i<$review_rating;$i++)
{
$movie_rating .= "<img src='thumbsup.gif'> ";
}
return $movie_rating;
}
$movie_query = "SELECT
*
FROM
movie
WHERE
movie_id ='".$_GET['movie_id']."'";
$movie_result = mysql_query($movie_query,$link) or die(mysql_error());
$movie_table_headings=<<<EOD
<tr>
<th>Movie Title</th>
<th>Year of Release</th>
<th>Movie Director</th>
<th>Movie Lead Actor</th>
<th>Movie Running Time</th>
<th>Movie Health</th>
</tr>
EOD;
$review_table_headings=<<<EOD
<tr>
<th>Date of Review</th>
<th>Review Title</th>
<th>Reviewer Name</th>
<th>Movie Review Comments</th>
<th>Rating</th>
</tr>
EOD;
while($row = mysql_fetch_array($movie_result))
{
$movie_name = $row['movie_name'];
$movie_director = $row['movie_director'];
$movie_leadactor = $row['movie_leadactor'];
$movie_year = $row['movie_year'];
$movie_running_time = $row['movie_running_time']." mins";
$movie_takings = $row['movie_takings'];
$movie_cost = $row['movie_cost'];
//get director's name from people table
get_director($movie_director);
//get lead actor's name from people table
get_leadactor($movie_leadactor);
}
while($review_row = mysql_fetch_array($review_result))
{
$review_flag =1;
$review_title[] = $review_row['review_name'];
$reviewer_name[] = ucwords($review_row['review_reviewer_name']);
$review[] = $review_row['review_comment'];
$review_date[] = $review_row['review_date'];
$review_rating[] = generate_ratings($review_row['review_rating']);
}
$review_query = "SELECT
*
FROM
reviews
WHERE
review_movie_id ='".$_GET['movie_id']."'
ORDER BY
review_date DESC";
$review_result = mysql_query($review_query,$link) or die(mysql_error());
$i=0;
while($i<sizeof($review))
{
$review_details .=<<<EOD
<tr>
<td width='15%' valign='top' align='center'>$review_date[$i]</td>
<td width='15%' valign='top'>$review_title[$i]</td>
<td width='10%' valign='top'>$reviewer_name[$i]</td>
<td width='50%' valign='top'>$review[$i]</td>
<td width='10%' valign='top'align='center'>$review_rating[$i]</td>
</tr>
EOD;
$i++;
}
$movie_health =
calculate_differences($movie_takings,$movie_cost);
$page_start =<<<EOD
<HTML>
<head>
<title>Details and Reviews for: $movie_name</title>
</head>
<body>
EOD;
$movie_details =<<<EOD
<table width='70%' border='0' cellspacing='2' cellpadding='2' align='center'>
<tr>
<th colspan='6'><u><h2>$movie_name: Details</h2></u></th>
</tr>
$movie_table_headings
<tr>
<td width='33%' align='center'>$movie_name</td>
<td align='center'>$movie_year</td>
<td align='center'>$director</td>
<td align='center'>$leadactor</td>
<td align='center'>$movie_running_time</td>
<td align='center'>$movie_health</td>
</tr>
</table>
<br />
<br />
EOD;
if($review_flag)
{
$movie_details .=<<<EOD
<table width='95%' border='0' cellspacing='2'
cellpadding='20' align='center'>
$review_table_headings
$review_details
</table>
EOD;
}
$page_end =<<<EOD
</body>
</HTML>
EOD;
$detailed_movie_info =<<<EOD
$page_start
$movie_details
$page_end
EOD;
echo $detailed_movie_info;
mysql_close();
?>