Убрать несколько рубрик из общего блога

L
На сайте с 13.01.2016
Offline
4
655

Есть самописный движок, все вроде работает, но...

Не предусмотрено в основном блоге(куда отображаются все статьи) как убрать определенные рубрики.

Подробнее:

Есть в БД такой столбик cat1_t в нем разные варианты категорий статей: politika, ekonomika, video, и тд.

Каким образом исключить, к примеру, video и ekonomika?

<div class="levo">

<h1><?php echo $pagename?></h1>

<?php

//тут вродебы идет обращение к базе
$von='act=1';
if(isset($_GET['date'])) $von.=" AND dt1 LIKE '".$_GET['date']." %'";

$checktovs=mysql_query("SELECT ".$_GET['lan']."name, tname, id, ".$_GET['lan']."shortdescription, cat1_t, fotoid, dt1, video, looks, foto1, materialtype
FROM real_news WHERE ".$von." ORDER BY dt1 DESC LIMIT ".$_GET['start'].",".$tunerow['howmany']);

if(mysql_num_rows($checktovs)>0) {
$foldername='news';
while($kon=mysql_fetch_array($checktovs)) {

$kon[0]=stripslashes($kon[0]);

$dav=explode(' ',$kon['dt1']);
$d=explode('-',$dav[0]);
$d1=explode(':',$dav[1]);
//выбираем фото
$image='';
$dogi='';

if(trim($kon['foto1'])!='') $image='<img width="100" align="left" src="'.$sn.'/im/'.$foldername.'/sm-'.$kon['foto1'].'" alt="'.$kon[0].'" />';
else if(trim($kon['fotoid'])!='') {

$globs=glob('im/'.$foldername.'/sm-'.$kon['fotoid'].'*');
$globs1=glob('im/'.$foldername.'/'.$kon['fotoid'].'*');

if(count($globs)>0 && trim($globs[0])!='') {$image='<img width="100" align="left" src="'.$sn.'/'.$globs[0].'" alt="'.$kon[0].'" />';
$dogi=str_replace('im/'.$foldername.'/sm-','',$globs[0]);
}

else if(count($globs1)>0 && trim($globs1[0])!='') {

//делаем превью
$val=$globs1[0];
$kapa=str_replace('im/'.$foldername.'/','',$val);
$type=getimagesize($val);
if($type[2]==2) $img=imagecreatefromjpeg($val);
if($type[2]==1) $img=imagecreatefromgif($val);
if($type[2]==3) $img=imagecreatefrompng($val);
$width=imagesx($img);
$height=imagesy($img);
if($width>300 || $height>225) {
if($width>$height) {$kof=$width/$height;$dlina=300;$visota=300/$kof;}
else {$kof=$height/$width;$visota=225;$dlina=225/$kof;}}
else {$dlina=$width;$visota=$height;}
$img_copy=imagecreatetruecolor($dlina, $visota);
imagecopyresampled($img_copy, $img, 0, 0, 0, 0, $dlina, $visota, $width, $height);

$dogi=$kapa;

$put="im/".$foldername."/sm-".$kapa;
if($type[2]==2) imagejpeg($img_copy,$put,100);
if($type[2]==1) imagegif($img_copy,$put,100);
if($type[2]==3) imagepng($img_copy,$put);

$image='<img width="100" align="left" src="'.$sn.'/'.$put.'" alt="'.$kon[0].'" />';
}

if($dogi!='') mysql_query("UPDATE real_news SET foto1='".$dogi."' WHERE id='".$kon['id']."'");
}

$video=(trim($kon['video'])=='') ? '' : '<span class="video">&nbsp;</span>';

//Проверяем комментарии к новости
$checkcomment=mysql_query("SELECT id FROM real_comments1 WHERE act='1' AND tid='".$kon['id'].'-'.$kon['tname']."'");
$cnn=mysql_num_rows($checkcomment);
$comment=($cnn==0) ? '' : '<span class="comment">'.$cnn.'</span>';

//А так выглядит отдельный пост в блоге
?>
<div class="new">
<a href="<?php echo $sn.'/'.$_GET['lan'].'/'.$kon['cat1_t'].'/'.$kon['id'].'-'.$kon['tname']?>" class="<?php echo 'type'.$kon['materialtype']?>"><?php echo $image.$kon[0]?></a><br />
<div class="par"><?php echo stripslashes($kon[3]);?></div>
<div class="ar"><?php echo $d[2].'/'.$d[1].' '.$d1[0].':'.$d1[1].' '.$video.$comment?><span class="eye"><?php echo $kon['looks']?></span></div>
<div class="cl"></div>
</div><div class="cl"></div>
<?php
}

$sss=mysql_query("SELECT id FROM real_news WHERE act='1'");
$suma65=mysql_num_rows($sss);

if($suma65>$tunerow['howmany']) {

echo '<input type="hidden" id="ysl" value="'.$von.'" />
<div id="nextpage1"><p align="center"><a onclick="showmore('.$tunerow['howmany'].',2,\''.$_GET['lan'].'\',\'news\')" class="grbut21">'.m27.' '.$tunerow['howmany'].'</a></p></div>';

}

}

?></div>

Подскажите куда смотреть и что написать.:rolleyes:

V
На сайте с 03.12.2007
Offline
94
#1

Используйте NOT IN

...WHERE cat1_t NOT IN ('video','ekonomika')".$von."...
L
На сайте с 13.01.2016
Offline
4
#2

Прошу прощения, а куда именно нужно вставить такую форму, может у Вас будет минутка на пример. Ее просто после данного кода вставить, или есть правила пунктуации?

$checktovs=mysql_query("SELECT ".$_GET['lan']."name, tname, id, ".$_GET['lan']."shortdescription, cat1_t, fotoid, dt1, video, looks, foto1, materialtype

FROM real_news WHERE ".$von." ORDER BY dt1 DESC LIMIT ".$_GET['start'].",".$tunerow['howmany']);

WHERE cat1_t NOT IN ('video','ekonomika')".$von."

V
На сайте с 03.12.2007
Offline
94
#3

$checktovs=mysql_query("SELECT ".$_GET['lan']."name, tname, id, ".$_GET['lan']."shortdescription, cat1_t, fotoid, dt1, video, looks, foto1, materialtype

FROM real_news WHERE cat1_t NOT IN ('video','ekonomika') ".$von." ORDER BY dt1 DESC LIMIT ".$_GET['start'].",".$tunerow['howmany']);

L
На сайте с 13.01.2016
Offline
4
#4

Благодарю Вас, но после внесения этих изменений просто не отображается ни одна новость в блоге((((

totamon
На сайте с 12.05.2007
Offline
437
#5
vavenko:
cat1_t NOT IN ('video','ekonomika') ".$von."

поменяйте местами и AND добавьте

".$von." AND cat1_t NOT IN ('video','ekonomika')

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
L
На сайте с 13.01.2016
Offline
4
#6

Супер, работает, благодарю за дельный совет.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий