文章的多个类别选择系统
早先M使用两张桌子 文章&类别和保存文章表中的类别ID 但在这个系统中,每篇文章只能保存一个类别ID 我想在多个类别中保存文章
在搜索时我发现了同样的问题on StackOverflow
我理解添加一个关系表的整个概念&保存文章ID&此表中的类别ID。 但是不知道如何在新文章表格中使用数组实现多选系统。编辑文章表格。
之前我在我的表单中显示选择以在添加文章&中显示类别列表编辑文章页面。
请有人解释我如何在我的表单中以多个复选框样式显示类别列表,以便用户可以选择多个类别,然后在POST之后如何获取复选框数据并运行查询以在文章表和文章中插入数据。具有所选类别ID的新关系表
want to display category List like this screenshot
非常感谢...
修改
我用echo '<input type="checkbox" name="selcats[]" value="$catid"> ' .$catname;
显示类别复选框
它并排显示在一排。
如何更改屏幕截图显示,即滚动条列表
&安培;需要处理此数组并在数据库中插入文章时插入新表。
编辑2
通过使用div:D在滚动列表中显示正确的复选框显示
<div style="height: 150px; width: 200px; overflow: auto;">
答案 0 :(得分:1)
您基本上需要两个具有此结构的表
table_categories
_____________________________
| id | title |
-----------+---------------+
table_category_detail
______________________________________________
| id | categoryId | articleId |
-----------+---------------+------------------
要提取所有类别,请从table_categories
中选择所有类别,然后将其置于选择菜单中并启用mutiple
选项。
接下来,当发布时获取所选的框值并逐个插入table_category_detail
这是您创建选择框的方式
$query = "SELECT * FROM table_categories";
$result = mysql_query($query);
echo '<select multiple="multiple">';
while($row = mysql_fetch_assoc($result)) {
echo '<option value="'.$row['id'].'">'.$row['title'].'</option>';
}
echo "</select>";
或多个复选框
while($row = mysql_fetch_assoc($result)) {
echo '<input type="checkbox" name="selcats[]" value="'.$row['id'].'"> ' .$row['title'];
}
发布后:
// Here write codes to insert the article first
$articleId = mysql_insert_id(); //get the id
$values = $_POST['selcats'];
foreach($values as $value) {
$query = "INSERT into `table_category_detail` VALUES(NULL, $value, $articleId)";
$result = mysql_query($result);
}
答案 1 :(得分:1)
在我的情况下,我使用“标签系统”,例如:你有一篇文章有一个类别,没有什么会改变它...在adition中,你可以在文章表中用相关的单词创建另一个字段(或者你想要的任何东西)并用空格或逗号分隔它们。
// Get the data from your database
$tags = 'world, travel, turism, cities';
// Separate the values
$tags = explode(", ", $tags);
// Create a link for each one
foreach($tags as $t)
{
echo ' <a href="?tag=' . $t . '">' . ucfirst($t) . '</a> ' . "\r\n";
}
应输出:
<a href="?tag=world">World</a>
<a href="?tag=travel">Travel</a>
<a href="?tag=turism">Turism</a>
<a href="?tag=cities">Cities</a>
这意味着您可以选择标题为LIKE标签的文章,或任何您想要搜索的文章。
这就是你在找什么?