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

标签 php mysql logic

我想做类似的事情: 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/

相关文章:

php - Codeigniter 数据库错误编号 1048 值显示 NULL,即使它们不是 NULL

mysql - 如何使用 VB 2005 在 64 位上运行 32 位应用程序?

java - 如何将Java时间戳转换为mySQL日期时间函数

javascript - 我们如何在没有条件的情况下递增然后递减计数器?

javascript - 为什么 `false && true || true` 评估为真?

PHP MySQL更新只更新一行

php - spatie/laravel-备份 : Scheduling doesn't work

php - $wpdb->update 或 $wpdb->insert 导致在引号前添加斜杠

mysql - 为什么这个 SQL 命令不起作用?

algorithm - 我怎样才能加快这个字谜算法