我使用PHP将我网站上的项目分类到不同的位置/不同的div。我在每个div中都有一个脚本,我想要显示结果所以如果有4个div,则有4个脚本。 (4个类别)每个脚本在页面的头部都有一个查询。
类别/ div 1的MySQL查询
$sql_category1 = <<<SQL
SELECT *
FROM `list_items`
WHERE `category` = 1
ORDER BY `rating` ASC;
SQL;
if(!$category1 = $db->query($sql_category1 )){
die('There was an error running the query [' . $db->error . ']');
}
我的PHP类别/ div 1:
<?php
while($row = $category1->fetch_assoc()) {
'<div class="list-item-container">'
. '<a href="' . $row['url'] . '"><img title="' . $row['title'] . '" class="favicon" src="http://www.google.com/s2/favicons?domain='. $row['fav_url'] . '" /></a>'
. '</div>';
}
?>
我的目标:当我将数据输入表格时,有两个项目可以归类为两个不同的东西,所以两个不同的类别,我必须制作两个副本。这样,项目将出现在两个类别中。相同的项目有两个不同的类我给其中一个项目的类别值为1,另一个项目的类别值为2.
有没有一种方法可以为该项目提供两个单独的类别值?这样,当我的脚本运行并对它们进行排序时,该项目将出现在两个类别中。
我尝试了1,2 1:2和1; 2作为项目的值。我相信它甚至不接近那个。
提前致谢!
答案 0 :(得分:1)
制作3张桌子:
类别(id,name,...)
item(id,name,...)
item_category(id_item,id_category)
他们会在您的查询中加入它们,例如您的第一个查询将成为
SELECT *
FROM `list_items` t,`item-category`
WHERE `id_category` = 1
and `id_item` = t.`id`
ORDER BY `rating` ASC;
在你有连接表后,你可以输入你想要的任何连接