Php 如何对提交到sql数据库的文章进行分类?
如何对提交到sql数据库的文章进行分类,以便当用户想要将文章发布到某个类别时,他们可以使用下拉菜单选择要在该类别中发布的文章。“关于我们”、“产品”和“支持”就是这些类别的示例Php 如何对提交到sql数据库的文章进行分类?,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,如何对提交到sql数据库的文章进行分类,以便当用户想要将文章发布到某个类别时,他们可以使用下拉菜单选择要在该类别中发布的文章。“关于我们”、“产品”和“支持”就是这些类别的示例 <form method="post" action="postArticle.php"> <p> <select name="selectedOption"> <optgroup label="About us"> <
<form method="post" action="postArticle.php">
<p>
<select name="selectedOption">
<optgroup label="About us">
<option value="about">About us</option>
</optgroup>
<optgroup label="Products">
<option value="foo">Foo</option>
<option value="oof">Oof</option>
</optgroup>
<optgroup label="Support">
<option value="support">Support</option>
</optgroup>
</select>
</p>
关于我们
福
噢
支持
您的最佳选择是拥有一个存储可用类别的目录。然后,使用每行的id,在articles表中创建一个category\u id
字段来保存每一篇文章的类别id。这将是类别表的外键
然后,您将获得有关该文章类别的信息。相反,您可以从给定类别中选择所有文章。第一次查看时,您似乎只需要一个简单的表来实现该结构,该结构允许您创建类别结构的嵌套数组。任何具有parent\u id==0
的类别都是optgroup
,然后您可以在每个父optgroup
中将每个子类别列为选项
category_id | parent_id | category_name
1 | 0 | About us
2 | 1 | About us
3 | 0 | Products
4 | 3 | foo
5 | 3 | oof
6 | 0 | Support
7 | 6 | Support
这将输出为:
<form method="post" action="postArticle.php">
<p>
<select name="selectedOption">
<optgroup label="About us">
<option value="2">About us</option>
</optgroup>
<optgroup label="Products">
<option value="4">Foo</option>
<option value="5">Oof</option>
</optgroup>
<optgroup label="Support">
<option value="6">Support</option>
</optgroup>
</select>
</p>
关于我们
福
噢
支持
显然,您可以将select中的值存储在article表中,以链接到category表。请注意,您不能在上面选择父类别,只能选择子类别(您可能希望如此)。显然,如果您有很多组,其中只有一个子类别(与父类别名称重复),那么这不是非常有效,您可能需要了解如何构建类别,或者,您可以将optgroup
放在一起,只需直观地缩进每个类别下子类别的标签即可。这样一来,每个类别(包括父类别)都会成为一个选项
,并且是可选的,但您可能不希望这样