The following code is From Julie Meloni's textbook - PHP, mySQL and Apache
(SAMS) on page 305-307 / Listing 14.5:

It's the last script of a discussion forum which is comprised of four php
files and one html file.

The script can be seen at:
http://www.thickbook.com

Chapter 14 off the zipfile.

Anyway, in the textbook and the zip her mySQL query reads:
...................
$verify = "select ft.topic_id, ft.topic_title from forum_posts as fp left
join forum_topics as ft on fp.topic_id = ft.topic_id where fp.post_id =
$_GET[post_id]";
.................

The part that I'm confused about is:
...............
select ft.topic_id, ft.topic_title from forum_posts
................

It seem that the alias of ft refers to forum_title - not forum_posts.

In fact, I switched the query to read as follows:
................
$verify = "select ft.topic_id, ft.topic_title from forum_topics as ft left
join forum_posts as fp on fp.topic_id = ft.topic_id where fp.post_id =
$_GET[post_id]";
..................

And that seems to run fine.

Any explanations will be appreciated.

Her original code is below.

Thank you.

Tony Ritter

..........................


<?php
//connect to server and select database; we'll need it soon
$conn = mysql_connect("localhost", "root", "thisisapassword") or
die(mysql_error());
mysql_select_db("sitename",$conn)  or die(mysql_error());

//check to see if we're showing the form or adding the post
if ($_POST[op] != "addpost") {
   // showing the form; check for required item in query string
   if (!$_GET[post_id]) {
        header("Location: topiclist.php");
        exit;
   }

   //still have to verify topic and post
   $verify = "select ft.topic_id, ft.topic_title from forum_topics as ft
left join forum_posts as fp on fp.topic_id = ft.topic_id where fp.post_id =
$_GET[post_id]";
   $verify_res = mysql_query($verify, $conn) or die(mysql_error());
   if (mysql_num_rows($verify_res) < 1) {
       //this post or topic does not exist
       header("Location: topiclist.php");
       exit;
   } else {
       //get the topic id and title
       $topic_id = mysql_result($verify_res,0,'topic_id');
       $topic_title = stripslashes(mysql_result($verify_res,
0,'topic_title'));

       print "
       <html>
       <head>
       <title>Post Your Reply in $topic_title</title>
       </head>
       <body>
       <h1>Post Your Reply in $topic_title</h1>
       <form method=post action=\"$_SERVER[PHP_SELF]\">
       <p><strong>Your E-Mail Address:</strong><br>
       <input type=\"text\" name=\"post_owner\" size=40 maxlength=150>

       <P><strong>Post Text:</strong><br>
       <textarea name=\"post_text\" rows=8 cols=40 wrap=virtual></textarea>

       <input type=\"hidden\" name=\"op\" value=\"addpost\">
       <input type=\"hidden\" name=\"topic_id\" value=\"$topic_id\">

       <P><input type=\"submit\" name=\"submit\" value=\"Add Post\"></p>

       </form>
       </body>
       </html>";
   }
} else if ($_POST[op] == "addpost") {
   //check for required items from form
   if ((!$_POST[topic_id]) || (!$_POST[post_text]) || (!$_POST[post_owner]))
{
       header("Location: topiclist.php");
       exit;
   }

   //add the post
   $add_post = "insert into forum_posts values ('', '$_POST[topic_id]',
'$_POST[post_text]', now(), '$_POST[post_owner]')";
   mysql_query($add_post,$conn) or die(mysql_error());

   //redirect user to topic
   header("Location: showtopic.php?topic_id=$topic_id");
   exit;
}
?>




-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to