3

我想做类似的事情: http ://www.dimarzio.com/pickup-picker

我的问题涉及概念,而不是有关如何执行此操作的任何特定代码。

例如,我们正在销售小提琴,我们希望用户输入有关他们演奏风格的信息,并根据他们的输入为他们提供三把最好的小提琴。这是我得到的数据:

因此,如果用户输入 Expert、Hard、Rock 和 Dark,我将获得小提琴的数据集,包括:Cannon、Soil、Ysaye、K.Joseph、Heifetz // Cannon、Kreisler、Soil、Heifetz // Kreisler、Diable、Vieuxtemps // Cannon, Diable, Plowden

在这些中,我需要向用户输出三个最佳选择。Cannon 在 4 个中列 3 个,所以它必须是 #1。现在又有三把小提琴符合四个标准中的两个。土壤,Kriesler 和 Diable。为了将其细化为两个选择,我认为这些问题必须根据重要性进行排序。例如,音调是最重要的,其次是鞠躬风格、音乐类型和技能水平。根据该排名,程序应选择 Diable 和 Kreisler。

我不完全确定如何解决这个问题。既然这些数据不会经常变化,这是否应该涉及到数据库?信息是否应该存储在多维数组中?一旦数据在数组中,无论是否来自数据库,我应该如何编写逻辑以按重要性顺序检查数组并获取最相关的小提琴?

任何帮助深表感谢!我认为这很容易,直到我真正开始考虑它!

4

2 回答 2

2

对我来说,这听起来像是一个排序问题。我对小提琴一无所知,所以我无法从你的例子中吸收太多,但无论如何......

您可能熟悉数据库如何跨多个列进行排序。如果我说 order byfirstname, lastname, phone它会比较名字,并且只有在有平局时才会比较姓氏,如果有平局,它会比较电话号码。

排序后,您选择前 N 个条目并显示。

您也可以在 php 代码中进行这样的自定义排序。例如,您希望通过以下方式订购num occurances in a list, tone, bowing style, etc...

这就是它的要点。我将它存储在数据库中仅仅是因为它的数据,而且在大多数情况下,它是保存它的好地方。大量的导入导出和其他数据管理、查看、编辑和其他功能免费赠品使用数据库。

如果您需要一些模仿数据库 order by 子句的示例代码,我可以挖掘一些我知道我有的地方。

于 2012-05-15T00:56:57.290 回答
0

我们有一家初创公司,可以解决您概述的问题。基本上,我们创建了一个支持语义的产品选择器,它引导用户通过选择过程来找到产品或解决方案。

尽管我们为不同的市场部门(不是 vioins)设计了我们的产品,但我认为这将有助于解决您描述的问题。

数据托管在 Amazon AWS 上,我们构建了一个 API,因此产品选择器可以整合到 iPhone 应用程序、Android 应用程序、网站等中。

如果您愿意,请访问我们的网站 www.productworld.com,您将在其中获得我的联系方式。

于 2012-05-17T10:39:46.627 回答