RHK RHK - 2 years ago 86
HTML Question

Unable to display data on PHP page from multiple tables

I am building a forum, on my main_forum.php page, I am attempting to display the user who has posted a topic, I get all the data but the username is hosted on another table. How do I get it to display?


include ('includes/session.php');
include ('includes/header.php');

$host = "localhost";
$username = "fses16g6";
$password = "fses16g6";
$db_name="fses16g6"; // Database name
$tbl_name="forum_question"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name ORDER BY id DESC";
//$query="SELECT * FROM users"
// OREDER BY id DESC is order result by descending


<table width="90%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#202531">
<td width="6%" align="center" bgcolor="#202531"><strong>#</strong></td>
<td width="50%" align="center" bgcolor="#202531"><strong>Topic</strong></td>
<td width="11%" align="center" bgcolor="#202531"><strong>User</strong></td>
<td width="11%" align="center" bgcolor="#202531"><strong>Views</strong></td>
<td width="11%" align="center" bgcolor="#202531"><strong>Replies</strong> </td>
<td width="11%" align="center" bgcolor="#202531"><strong>Date/Time</strong> </td>



<td bgcolor="#202531"><?php echo $rows['id']; ?></td>
<td bgcolor="#202531"><a href="view_topic.php?id=<?php echo $rows['id']; ? >"><?php echo $rows['topic']; ?></a><BR></td>
<td align="center" bgcolor="#202531"><?php echo $rows['first_name']; ?></td>
<td align="center" bgcolor="#202531"><?php echo $rows['view']; ?></td>
<td align="center" bgcolor="#202531"><?php echo $rows['reply']; ?></td>
<td align="center" bgcolor="#202531"><?php echo $rows['datetime']; ?></td>
// Exit looping and close connection


<td colspan="7" align="right" bgcolor="#000000"><a href="create_topic.php"> <strong>Create New Topic</strong> </a></td>


if ($is_admin) {
echo '<button type="button">EDIT</button>';
echo '<button type="button">DELETE</button>';

include ('includes/footer.html');

Here is the table 'forum_questions'

CREATE TABLE `forum_question` (
`id` int(4) NOT NULL auto_increment,
`topic` varchar(255) NOT NULL default '',
`detail` longtext NOT NULL,
`name` varchar(65) NOT NULL default '',
`email` varchar(65) NOT NULL default '',
`datetime` varchar(25) NOT NULL default '',
`view` int(4) NOT NULL default '0',
`reply` int(4) NOT NULL default '0',

I have successfully connected the table, to the php but there is no username value connected to the table so it doesn't display a user name.

I need to grab the tuple 'first_name' from the table 'users' and apply it to the main_forum.php portion where it denotes which user has created a topic.

Thanks for your help.

Answer Source

If you add the posers userID to the forum)question table you can then add a new variable which is your users table.

$table2 = users

then change your $sql to:

$sql="SELECT * FROM $tbl_name INNER JOIN $table_name2 ON $tbl_name.user_id = $tbl_name2.user_id ORDER BY id DESC";

now you can access data from both the users table and the forum_question table.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download