Повече от 1 категория

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 AUTO_INCREMENT=8 ;

--
-- Dumping data for table `categories`
--

INSERT INTO `categories` VALUES(1, 'всички');
INSERT INTO `categories` VALUES(2, 'всякакви');
INSERT INTO `categories` VALUES(3, 'теротистически');
INSERT INTO `categories` VALUES(4, 'някфи');
INSERT INTO `categories` VALUES(5, 'никакви');
INSERT INTO `categories` VALUES(6, 'сякакви');
INSERT INTO `categories` VALUES(7, 'кфи');

а това на новините
Код:
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 ;

пробвах така да го направя да избирам кои категории
Код:
<?php $quercho = mysql_query ("SELECT * FROM categories")or die(mysql_error());
while ($post = mysql_fetch_array($quercho)) {
echo '<input type="checkbox"  name="category" value="'.$post['cat_id'].'">'.$post['categ']."\n";
}
?>
но в sql на новините field category си стои това което съм посочил 1-во

някой ще ми каже ли как да мога да избирам повече от 1 категория
 
<?php $quercho = mysql_query ("SELECT * FROM categories")or die(mysql_error());
while ($post = mysql_fetch_array($quercho)) {
echo "<input type='checkbox' name='category' value='";
echo $post['cat_id'];
echo "' />";
echo $post['categ'];
}
?>
 
Варианта, който аз ползвам е трета таблица, която съдържа връзките между двете.

iv
id|колона 1|колона 2|колона 3|колона 4
1|Запис 1| Запис 1| Запис 1| Запис 1|
2|Запис 2| Запис 2| Запис 2| Запис 2|
3|Запис 1| Запис 3| Запис 3| Запис 3|
categories
cat_id|cat_eg
1|Категория 1
2|Категория 2
3|Категория 3
4|Категория 4

iv_categories
iv_id|cat_id
1|1
1|2
2|1
2|2
2|3
3|1
3|2
3|3
3|4

Така както виждаш първия запис ти е в категория 1 и 2, втория в 1, 2 и 3, и третия във всичките.

Просто в третата таблица записваш id на новината и категорията, в която искаш да е. И така за колкото категории искаш.


Другия вариант е без трета таблица, а в таблицата iv да имаш поле category, в което да записваш категориите във вида:

1,2,3 или 1|2|3 или категория 1|категория 2| категория 3, но там вече става по-сложно изкарването, защото се минава през explode, и общо взето ако искаш да правиш после някакви по-сложни заявки си става много играчка. :)
 
нещо не те разбрах :shock: аз искам по няколко категории да мога да давам :?


а и да ми кажете как да ги изкарам
пробвах така

<?php
$quercho = mysql_query ("SELECT * FROM categories")or die(mysql_error());
$post = mysql_fetch_array($quercho);
echo '<a href=category.php?id='.$category.'>'.$post['$categ']."</a>\n";

$category e от sql-а на новините

но не стана...
 

Back
Горе