@libera

Вывод категорий php?

Сделал я 2 таблице
1 таблица.
id_cat catalog
2 таблица.
catalog _id

При создание новости, он заполняет во 2 таблице catalog _id которые берет из селекта из 1 таблице.
Но проблема в том, что я пытаюсь вывести каталог из 1 таблице по id, а он мне выводит только имя каталога.

И когда смотришь на главной странице категорию, то он тупо включает цикл и дает ссылку на 1-2 id и все с начало.

<div class="content">
<?php
include 'config.php';
$num = 10;
$page = $_GET['page'];
$result00 = mysql_query("SELECT COUNT(*) FROM news ");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
$total = (($posts - 1) / $num) + 1;
$total =  intval($total);
$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;		
$r = mysql_query("SELECT * FROM news,catalog ORDER BY id DESC LIMIT $start, $num");
$n = mysql_num_rows($r);

for ($i = 0; $i < $n; $i++)
{
	$row = mysql_fetch_array($r);			   
	printf ('
				<div class="news-block">
					<div class="title-news">топ <a>%s</a></div>
					<div class="title-date-user"><a>%s</a></div>
					<div class="text-news"><p> %s ...</p></div>
					<div class="title-news">
					<a class="news-catalog" href="catalog.php?id_cat=%s">%s</a>
					<a class="news-dalee" href="news.php?id=%s">Подробнее</a> </div>
				</div>
			', $row['title'], $row['date'], mb_substr( $row['text_1'], 0, 350),$row['id_cat'],$row['catalog_id'],$row['id'] );
}
//----Навигация
if ($page != 1) $pervpage = '<a href=?page=1>Первая</a> | <a href=?page='. ($page - 1) .'>Предыдущая</a> | ';
if ($page != $total) $nextpage = ' | <a href=?page='. ($page + 1) .'>Следующая</a> | <a href=?page=' .$total. '>Последняя</a>';
if($page - 5 > 0) $page5left = ' <a href=?page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=?page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=?page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=?page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=?page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=?page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
?>
</div>

Pдесь вывод всех новостей, но когда ждем ссылку на категорию. то он выводит только catalog при этом он не определяет id где было занесено в 2 таблице каталог,он тупо перечисляет id каталогов.

<?php
include "template/top.php";
include "config.php";
$id = isset($_GET['id_cat']) ? (int) $_GET['id_cat'] : 0; 
$res = mysql_query('SELECT * FROM `catalog` WHERE `id_cat` = ' . $id);
mysql_select_db($dbname) || die('Нет базы');
$row = mysql_fetch_array($res);
echo '<div>' .$row['catalog']. '</div>';
include "template/bottom.php";
?>


Здесь вывод каталога. Но он выводит только имя каталога.

Как сделать, что бы он выводил каталоги и в них новости?
  • Вопрос задан
  • 631 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы