Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何对提交到sql数据库的文章进行分类?_Php_Mysql_Sql_Pdo - Fatal编程技术网

Php 如何对提交到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"> <

如何对提交到sql数据库的文章进行分类,以便当用户想要将文章发布到某个类别时,他们可以使用下拉菜单选择要在该类别中发布的文章。“关于我们”、“产品”和“支持”就是这些类别的示例

<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
放在一起,只需直观地缩进每个类别下子类别的标签即可。这样一来,每个类别(包括父类别)都会成为一个
选项
,并且是可选的,但您可能不希望这样