使用PHP创建交互式产品选择器

时间:2012-05-14 23:07:59

标签: php mysql logic

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

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

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

因此,如果用户输入专家,硬盘,摇滚和黑暗,我将获得由以下组成的小提琴数据集:Cannon,Soil,Ysaye,K.Joseph,Heifetz // Cannon,Kreisler,Soil,Heifetz // Kreisler, Diable,Vieuxtemps // Cannon,Diable,Plowden

我需要向用户输出三个最佳选择。 Cannon列在4中的3中,因此必须是#1。现在还有三个小提琴符合四个标准中的两个。土壤,Kriesler和Diable。为了将其归结为两种选择,我认为问题必须根据重要性进行排名。例如,Tone是最重要的,其次是鞠躬风格,音乐流派和技能水平。根据该排名,该计划应选择Diable和Kreisler。

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

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

2 个答案:

答案 0 :(得分:2)

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

您可能熟悉数据库如何对多列进行排序。如果我说firstname, lastname, phone的顺序,它会比较第一个名字,只有当它们有一个平局时,它会比较姓氏,如果有一个平局,那么它会比较电话号码。

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

你也可以在PHP代码中进行这样的自定义排序。例如,您可以按num occurances in a list, tone, bowing style, etc...

订购

这就是它的要点。我将它存储在一个数据库中只是因为它的数据,而且在很大程度上,它是保存它的好地方。使用数据库可以获得大量的导入导出和其他数据管理,查看,编辑和其他功能免费赠送。

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

答案 1 :(得分:0)

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

虽然我们为不同的市场领域(不是违规)设计了我们的产品,但我认为这有助于解决您描述的问题。

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

如果您愿意,可以访问我们的网站www.productworld.com,获取我的联系方式。