I'm working on a custom MySQL & PHP forum, and I'm trying to get my topics to be seated/listed under their respective categories. When I create a topic in my admin panel I can set the category id, which corresponds with the id of the category. I've already browsed around quite a bit on the web and on the site here.
I've been able to get the categories to show up and have been able to seat where the topics would go, but the topic(s) aren't showing up, the param I pass keeps resulting in null, and causes each category to show that there are no topics created.
This is the function I'm working on:
function fetch_forum() {
global $connection;
$query = "SELECT * FROM forum_categories LEFT JOIN forum_topics ON forum_topics.forum_topic_category_id = forum_categories.forum_category_id";
$select_forum_data = mysqli_query($connection, $query);
$new_topic = "";
$pre_topic = "";
while($row = mysqli_fetch_assoc($select_forum_data)) {
$forum_topic_id = $row['forum_topic_id'];
$forum_topic_title = $row['forum_topic_title'];
$forum_topic_description = $row['forum_topic_description'];
$forum_topic_category_id = $row['forum_topic_category_id'];
$forum_category_id = $row['forum_category_id'];
$forum_category_title = $row['forum_category_title'];
$new_topic = $forum_topic_title;
if($forum_category_title != null) {
echo "<thead>";
echo "<tr>";
echo "<th><span class='glyphicon glyphicon-file' aria-hidden='true'></span> {$forum_category_title}</th>";
echo "<th>Topics</th>";
echo "<th>Posts</th>";
echo "<th>Last Post</th>";
echo "</tr>";
echo "</thead>";
}
if($new_topic != $pre_topic) {
echo "<tbody>";
echo "<tr>";
echo "<td><a href='topic.php?t_id=<?php echo $forum_topic_id; ?>'><h5> {$forum_topic_title}</h5></a></td>";
echo "<td>1</td>";
echo "<td>1</td>";
echo "<td>03-28-2017</td>";
echo "</tr>";
echo "</tbody>";
} else {
echo "<tbody>";
echo "<tr>";
echo "<td>No topics have been created</td>";
echo "</tr>";
echo "</tbody>";
}
$pre_topic = $forum_topic_title;
}
}
This is my index page:
<?php include "includes/header.php"; ?>
<?php include "includes/db.php"; ?>
<!-- Navigation -->
<?php include "includes/navigation.php"; ?>
<!-- Page Content -->
<div class="container">
<div class="row">
<!-- Blog Entries Column -->
<div class="col-md-8">
<!-- Forum Navigation -->
<?php include "includes/forum_navigation.php"; ?>
<!-- First Blog forum -->
<table class="table table-hover">
<?php fetch_forum(); ?>
</table>
<hr>
</div>
<!-- Blog Sidebar Widgets Column -->
<?php include "includes/sidebar.php"; ?>
</div>
</div>
<!-- /.row -->
<hr>
<?php include "includes/footer.php"; ?>
This is my header page:
<?php ob_start(); ?>
<?php session_start(); ?>
<?php include "functions.php"; ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>My CMS Framework</title>
<!-- Bootstrap Core CSS -->
<link href="../css/bootstrap.min.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="../css/blog-home.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="../admin/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../js/autoBreadcrumbs.js"></script>
</head>
<body>
And this is my forum: http://innovativestudios.net/forum/


forum_topic_category_idandforum_category_id? - inarilo