我有一张属于不同的对应鞋类类别的鞋类样式表。我要做的是列出不同(单独)类别下的样式。
可用于凉鞋的款式有: 人字拖幻灯片
可用于鞋子的款式有: 运动系带乐福鞋 莫卡辛
正如您在下面看到的,现在,我只是用不同的 TYPEID 重申我的查询。
是否有一种更高效的代码方式只需一个查询就可以做到这一点?
正如我的问题标题所述:我可以在一列值中执行多个参数 - 一个查询吗?
在此先感谢,珍
+--------+---------+
| typeid | type |
+--------+---------+
| 1 | Shoes |
| 2 | Boots |
| 3 | Sandals |
+--------+---------+
+---------+--------+------------+
| styleid | typeid | style |
+---------+--------+------------+
| 1 | 1 | Athletic |
| 2 | 1 | Lace-up |
| 3 | 1 | Loafers |
| 4 | 1 | Moccasins |
| 5 | 2 | Combat |
| 6 | 2 | Hiking |
| 7 | 2 | Riding |
| 8 | 3 | Flip Flops |
| 9 | 3 | Slide |
+---------+--------+------------+
Styles_in_Cat.php
echo " Styles available for SANDALS are: <br/>";
$query="SELECT DISTINCT style, style.typeid, type
FROM style, type
WHERE style.typeid=3
AND style.typeid=type.typeid";
if ($result = mysqli_query($con,$query))
{
while ($row = mysqli_fetch_assoc($result))
{
$style = $row['style'];
$typeid = $row['typeid'];
$type = $row['type'];
echo " $style <br/>" ;
}
}
echo " Styles available for SHOES are: <br/>";
$query="SELECT DISTINCT style, style.typeid, type
FROM style, type
WHERE style.typeid=1
AND style.typeid=type.typeid";
if ($result = mysqli_query($con,$query))
{
while ($row = mysqli_fetch_assoc($result))
{
$style = $row['style'];
$typeid = $row['typeid'];
$type = $row['type'];
echo " $style <br/>" ;
}
}
更新:我想我快到了。我把它们放在一个 foreach 循环中并得到:
靴子 - 战斗靴 - 远足靴 - 骑行凉鞋 - 人字拖凉鞋 - 拖鞋 - 运动鞋 - 系带鞋 - 乐福鞋 - 莫卡辛
现在只需要尝试将它们分开并显示在不同的标题下,例如“可用于 SHOES 的样式是:”
更新 2:
在过去的 4 个小时里,我一直在尝试将结果放入数组中,但到目前为止还没有成功:(。
我得到了这个结果(如 xpy 所建议的那样):
SELECT DISTINCT type, style.typeid, style FROM style, type
WHERE style.typeid IN ( 1,3)
AND style.typeid=type.typeid
+---------+--------+------------+
| type | typeid | style |
+---------+--------+------------+
| Shoes | 1 | Athletic |
| Shoes | 1 | Lace-up |
| Shoes | 1 | Loafers |
| Shoes | 1 | Moccasins |
| Sandals | 3 | Flip Flops |
| Sandals | 3 | Slide |
+---------+--------+------------+
但我想做的是控制出现哪种类型(即使 WHERE CLAUSE 声明 1、3、5(typeid)——也许我只想显示 1 和 3)。
我已经阅读了一些主题,但它们的结果与我相同。
stackoverflow.com/questions/3936073/mysql-php-selecting-only-unique-values-from-multiple-columns-and-put-them-into-s?rq=1
stackoverflow.com/questions/5345011/fetch-all-ids-and-put-them-into-an-array-in-php
我希望我问的问题是正确的。我知道我可能听起来很迷茫,因为我是。
基本上我试图理解 xpy 所说的:“你可以将它们分开,你可以通过它们的 typeid 来识别它们。” “您必须将结果放入单独的数组中,每种类型都有一个,或者放入一个多维数组中,每种类型都有一个索引,当然您必须检查结果,然后将其放入特定的数组中。”
所以我的浏览器视图看起来像:
我们提供的鞋子款式:运动系带乐福鞋
我们提供的靴子款式:战斗远足骑行
我可以坚持我最初的(第一个问题),但作为一个编程新手,我真的很想学习。
再次感谢。仁