Как да се покажат всички новини от тази категория

IzKuFeLiQqQqQ

Registered
Здравейте сложих си категории и ся се светнах че съм написал като се натисне някоя категория и да се показват новините само от нея

това е sql на категориите
Код:
CREATE TABLE `categories` (
  `cat_id` int(3) NOT NULL auto_increment,
  `categ` varchar(30) collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`cat_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci  ;

а това на новините
Код:
CREATE TABLE `iv` (
`id` int(5) NOT NULL auto_increment,
`zaglavie` varchar(250) character set utf8 collate utf8_unicode_ci NOT NULL,
`kratko` text character set utf8 collate utf8_unicode_ci NOT NULL,
`sudurjanie` text character set utf8 collate utf8_unicode_ci NOT NULL,
`category` int(3) character set utf8 collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;

Пробвах се няколко пъти от постоянно някфи грешки има и не мога да го наглася защото е 2 таблици и не мога да разбера как ще стане ...
 
$sql = mysql_query("SELECT * FROM iv WHERE category=1");
while($row...

така ще изведе всички новини от категория 1 да речем :idea:
 
аз искам автоматично от всяка категория демек като се отиде на линк category.php?cat_id=3 примерно да се показват всички от категорията с ид 3 ...
 
IzKuFeLiQqQqQ каза:
аз искам автоматично от всяка категория демек като се отиде на линк category.php?cat_id=3 примерно да се показват всички от категорията с ид 3 ...
Правиш си 1 променлива
Код:
$category = (int)$_GET['cat_id'];
и заявката
Код:
$sql = mysql_query("SELECT * FROM iv WHERE category=$category");
 
код
Код:
<?php include ("config.php");
$id = (int)$_GET['cat_id'];
    $cat = mysql_query("SELECT * FROM iv WHERE category='$id' ORDER BY id DESC ")or die (mysql_error());
 while($post = mysql_fetch_assoc($cat)) {
$zaglavie=$post['zaglavie'];
$kratko=$post['kratko'];
?>
<?php echo $zaglavie ?>
<?php echo $kratko ?>
<? } ?>

http://kuku-test.webege.com/mine%20news/category.php?id=2 само тоя текст се появява за която и да е категория
 
IzKuFeLiQqQqQ каза:
код
Код:
<?php include ("config.php");
$id = (int)$_GET['cat_id'];
    $cat = mysql_query("SELECT * FROM iv WHERE category='$id' ORDER BY id DESC ")or die (mysql_error());
 while($post = mysql_fetch_assoc($cat)) {
$zaglavie=$post['zaglavie'];
$kratko=$post['kratko'];
?>
<?php echo $zaglavie ?>
<?php echo $kratko ?>
<? } ?>

http://kuku-test.webege.com/mine%20news/category.php?id=2 само тоя текст се появява за която и да е категория

Код:
<?php include ("config.php");
$id = (int)$_GET['cat_id'];
    $cat = mysql_query("SELECT * FROM iv WHERE category='$id' ORDER BY id DESC ")or die (mysql_error());
 while($post = mysql_fetch_assoc($cat)) {
$zaglavie=$post['zaglavie'];
$kratko=$post['kratko'];
echo "$zaglavie <br /> $kratko";
}
?>
Линка ти става така category.php?cat_id=2 Също така няма да е лошо да си сложиш едно условие $id да е по голямо от 0 за да се изпълни по долния код.

Става така кода:
Код:
<?php include ("config.php");
$id = (int)$_GET['cat_id'];
if ($id > 0)
{
    $cat = mysql_query("SELECT * FROM iv WHERE category='$id' ORDER BY id DESC ")or die (mysql_error());
 while($post = mysql_fetch_assoc($cat)) {
$zaglavie=$post['zaglavie'];
$kratko=$post['kratko'];
echo "$zaglavie <br /> $kratko";
}
}
else
{
echo "Моля изберете категория";
}
?>
 
оффф наистина да стана :D лесно е да си прост се пак :D

не ми трябва $id>0 то ми трябва от индекса кат се натисне 'категория' и да показва само от тази категория щот я има в индекса значи е по голямо от 0 ;):P

+1
 

Back
Горе