我想做类似的事情: http://www.dimarzio.com/pickup-picker
我的问题涉及概念,而不是关于如何执行它的任何具体代码。
例如,我们销售 fiddle ,我们希望用户输入有关他们演奏风格的信息,并根据他们的输入为他们提供三把最好的 fiddle 。这是我得到的数据:
因此,如果用户输入 Expert、Hard、Rock 和 Dark,我将获得 fiddle 的数据集,包括:Cannon、Soil、Ysaye、K.Joseph、Heifetz//Cannon、Kreisler、Soil、Heifetz//Kreisler、 Diable, Vieuxtemps//Cannon, Diable, Plowden
在这些选项中,我需要向用户输出最适合他们的三个选项。 Cannon 在 4 个中的 3 个中列出,因此它必须是 #1。现在又有三把 fiddle 符合四个标准中的两个。土壤、Kriesler 和 Diable。为了将其归结为两个选择,我认为必须根据重要性对问题进行排序。例如,音调是最重要的,其次是弓法、音乐流派和技能水平。根据该排名,程序应选择 Diable 和 Kreisler。
我不完全确定如何处理这个问题。既然这些数据不会经常变化,这还要牵涉到数据库吗?信息应该只存储在多维数组中吗?一旦数据在数组中,无论是否来自数据库,我应该如何编写逻辑以按重要性顺序检查数组并获取最相关的 fiddle ?
非常感谢任何帮助!我认为这会很容易,直到我真正开始考虑它!
最佳答案
对我来说,这听起来像是一个排序问题。我对 fiddle 一无所知,所以我无法从你的例子中学到很多东西,但无论如何......
您可能熟悉数据库如何跨多个列进行排序。如果我说按 firstname, lastname, phone
排序,它会比较名字,只有当有平局时,它才会比较姓氏,如果有平局,它就会比较电话号码。
排序后,您选择前 N 个条目并显示。
您也可以在 php 代码中进行这样的自定义排序。例如,您可能希望按列表中出现的 num occurrences、音调、鞠躬风格等排序...
这就是它的要点。我将它存储在数据库中仅仅是因为它的数据,而且在大多数情况下,它是保存它的好地方。使用数据库可免费获得大量导入导出和其他数据管理、查看、编辑和其他功能。
如果您需要一些模拟数据库 order by 子句的示例代码,我可以挖掘一些我知道我在某处。
关于php - 使用 PHP 创建交互式产品选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10592194/