У меня есть 2 таблицы называются форумы и forum_categories в базеWhile Loop вторит только 1 значение дважды
forum_categories
cat_idфорум
cat_id
Я пытаюсь сосчитать общее количество для каждой категории по какой-либо причине отображает общую запись для всех записей.
У меня есть 2 категории до сих пор в базе данных
первая категория имеет значение 1
второй категории имеет значение 2
В первой категории, у меня есть два форумы, у которых есть cat_id 1
В категории 2 у меня есть один форум, на котором есть cat_id из 2
отображает
категории 1 -------------------- 3 ---------------
категории 2 -------------------- 3 ---------------
, когда он должен отображать
категория 1 -------------------- 2 ---------------
категория 2 --- ----------------- 1 ---------------$ topics_count всегда отображает 3.
$sql = "SELECT * FROM forum_categories, forums WHERE forum_categories.cat_id = forums.cat_id GROUP BY forum_categories.cat_id";
$result = query($sql);
$sql2 = "SELECT fc.cat_title COUNT(f.forum_id) FROM forums as f LEFT JOIN forum_categories fc ON (f.cat_id = fc.cat_id) GROUP BY f.cat_id";
$result2 = query($sql2);
$topics_count = count($result2);
while (($row = mysqli_fetch_assoc($result)) != false) {
$cat_id = $row['cat_id'];
$cat_title = $row['cat_title'];
$forum_name = $row['forum_name'];
echo "<tr>";
echo "<td>$cat_id</td>";
echo "<td><a href='viewforum.php?f={$cat_id}'>$cat_title</a><br>$forum_name admin</td>";
echo "<td>$topics_count</td>";
echo "<td>0</td>";
echo "</tr>";
}
Можете ли вы показать нам данные таблицы? –
Я не верю, что вы должны получить 6 записей из вашего запроса. Должно быть только 3. –
Это проблема PHP. Вы просто печатаете результирующий набор дважды. –