在我的网站上,我有一个包含下载统计信息的管理员页面。我想知道,哪些文件最常下载。但是,每次我发布新版本(例如1.3.0 - > 1.3.1)时,我都会在下表中看到一条新记录。
有没有办法使用MySQL将一个项目的所有版本组合在一起?
版本以不同方式表示:
1.00
,1.0.0
或.zip
.exe
或SomeWord.zip
或VARCHAR
(例如“来源”或“二进制”)数据库表包含[Path] is "downloads/coding/electronics/Floppy Drive Music 3.1.zip"
字段,其中包含下载的完整路径。例如
alignment-baseline
注释#1建议将无版本名称存储在数据库中。我在此也接受任何解释,解释如何使用PHP从文件名中正确删除版本。
如需进一步了解和披露,请查看截图:
答案 0 :(得分:0)
由于不太可能使用MySQL或者完全不同的方式,我遵循了问题评论#1的建议:
我使用PHP剥离版本并使用MySQL简化字符串分组。
$simpleFileName = substr($row['Path'], strrpos($row['Path'], '/') + 1); // Strip path, get file name only
if (preg_match('/\d+(?:\.\d+)+/', $simpleFileName, $matches))
{
// Replace version with "[VERSION]", which is processed in the front end.
$simpleFileName = str_replace($matches[0], '[VERSION]', $simpleFileName);
}