gpt4 book ai didi

php - MYSQL不会返回超过1个类别

转载 作者:行者123 更新时间:2023-11-29 19:06:16 24 4
gpt4 key购买 nike

我试图找到这个问题的答案,但找不到。

我有一个 3 表格式的 mqsql 数据库。我使用 1 个表来添加所有产品信息 CarpetInfo,1 表列出我的类别,地毯类别,和 1 个用于向产品添加类别的表,CarpetCategorySort。

我的 CarpetCategorySort 表有 3 列:制造商、样式、类别 ID。例如,制造商 = Aladdin,风格 = Alma Mater,类别 ID = 14/15/18/19/20/21/67/

我的 CarpetCategories 表有 2 列 CategoryID 和 Category。2 示例为 CategoryID = 14,类别 = Commercial &类别 ID = 15,类别 = 商业循环

只有当我在下面的 $category 变量中输入 Commercial 时,代码才能正常工作。如果我在 $category 变量中输入 Commercial Loop,该代码将无法运行。就好像它只会拉入第一个数字 14,而其他所有数字都会被忽略。定价顺序和其他一切都正常,只是 CategoryID 部分不正常。

这是我的代码。

<?php $mill = "Aladdin"; $category = "Commercial Loop";
$order = mysqli_query($con, "
SELECT * FROM CarpetInfo JOIN CarpetCategorySort USING (Manufacturer, Style)
JOIN CarpetCategories USING (CategoryID)
WHERE Manufacturer='$mill' AND Category LIKE '%$category%'
order by Price = 0, Price asc,
Style asc");
include($_SERVER['DOCUMENT_ROOT'].'/includes/pricing/carpet-order-test.htm');?>

非常感谢任何帮助!

最佳答案

这是一种落后的处理方式,一个由多个数据点混合在一起的字段确实没有任何存在的理由。我会在一个表中列出地毯,在另一个表中列出类别,最后在另一个表中列出两者的交叉引用,在其中两端获得多对一关系。

仅当您认为需要花费太多空间来为每个类别提供重复信息和/或您无法控制类别的用户输入(就像您不只是使用下拉列表来进行操作)时,您才需要一个实际的类别表给出一个名称选择)。

类似于:

CREATE TABLE IF NOT EXISTS `carpets` (
`id` int(11) NOT NULL,
`name` varchar(50) NOT NULL,
`abbrev` varchar(10),
`description` varchar(250),
[...]
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;


CREATE TABLE IF NOT EXISTS `carpet_categories` (
`id` int(11) NOT NULL,
`carpet_id` int(11) NOT NULL,
`category_id` int(11) NOT NULL,
[...]
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;


CREATE TABLE IF NOT EXISTS `carpet_category_info` (
`id` int(11) NOT NULL,
`price-per-sqf` int(11) NOT NULL,
`name` varchar(50),
[...]
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

然后您的所有连接都会变得简单、快速......而且准确。

关于php - MYSQL不会返回超过1个类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43479578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com