繁体   English   中英

显示帖子某些订单

[英]Show the posts certain orders

我对显示数据中的某些订单有疑问。 我已经从数据库创建了颜色表。 有256行和名称颜色。 数据库行看起来像他的: https : //prnt.sc/geyp48 ,我想像此屏幕https://prnt.sc/geypbr那样显示。

现在,所有颜色都有14种不同的代码。 例如红色具有14种不同的颜色类型。

我想按14个顺序显示每个。

<div class="red">All in 14 different red color code</div>
<div class="blue">All in 14 different blue color code</div>
<div class="gren">All in 14 different green color code</div>
<!--All others will be come here-->

我知道我可以做到这样的第一个14

$query = mysqli_query($this->db,"SELECT id, colors, color_name FROM colors WHERE id ORDER BY id ASC LIMIT 0,14") or die(mysqli_error($this->db));

但是,如果我使用ASC LIMIT 0,14我应该为所有其他14种颜色代码创建很多关于它的查询。

我的问题是,如何每隔14格以不同的顺序显示。

您不应该按ID ORDER BY 这使得顺序取决于插入顺序,我认为这非常脆弱。 您可以按颜色代码进行排序,假设每个颜色都以相同的“颜色类别”开头,但这又非常脆弱。

您应该做的是规范化。 添加一个新表color_category ,在其中添加每种颜色。 然后通过外键为每一行分配一个颜色类别。 它也可以是带有颜色类别的VARCHAR()列,但是从长远来看,它可能会让您头疼(不同的颜色拼写等)。 因此,请尝试使用新表对其进行规范化。 然后,您可以将其JOIN到原始表以获取每一行的颜色类别。 像这样:

表架构

因此,有了该代码后,就可以对ORDER BY color_category_id进行ORDER BY color_category_id并在代码中进行迭代时,检测color_category何时更改,然后启动新的DIV或您需要执行的任何操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM