按标签和计数过滤标签

时间:2012-12-10 15:19:05

标签: php jquery mysql laravel

我的mysql结构如下:

+----+-------------------------+-------------+-----------+--------------+
| id | title/text/moretext/img | language_id | course_id | country_code |
+----+-------------------------+-------------+-----------+--------------+
|  1 | Plenty of information   |           1 |         3 | it           |
+----+-------------------------+-------------+-----------+--------------+

我正在使用laravel框架来构建我的网站。

这是一个食谱。这是一个开胃菜(course_id 3翻译为开胃菜使用PHP数组,因为页面是多语言)。 这个开胃菜来自它。 “它”转换为意大利,再次使用PHP,因为国家名称将是多语言的。 配方是用英语写的(language_id是与语言表的一对多关系,语言id 1是英语)。 这些信息是在它改变了什么的情况下给出的,我怀疑,但最好安全地使用它。

每篇文章只包含其中一个标记。

我需要的是一个选择列表,回显所有可用选项(与使用中的过滤器相关的选项,所以如果我没有来自法语的南非的食谱,南非将不会显示在过滤器列表中,如果法语是选定的语言)。

谷歌没有任何收获,我的时间已经不多了,我的想法也没有了。有没有办法轻松实现这个?

我已经调查了http://luis-almeida.github.com/filtrify/并认为它正是我想要的功能,但我认为它对于大型数据库来说太沉重了,因为我必须查询整个数据库并制作一个清单。但我可能错了。

使用类似http://harvesthq.github.com/chosen/之类的实现也可以进行选择,但我不知道如何为此实现它。

任何帮助都会非常棒。我在这里过得很开心,完全没有编程热情。我已经花了几天时间在这上面,我正在画一个空白。别无其他问题。

1 个答案:

答案 0 :(得分:1)

快速而肮脏的方式来解决这个问题(你可以随时回来并加强它)

SELECT DISTINCT country_code, language_id 
FROM recipes 
ORDER BY country_code, language_id

使用任何连接/翻译来获取国家/地区名称和语言名称,然后从结果中进行一次下拉...

Deutschland - Deutsch 
France - Francais 
South Africa - Afrikaans 
South Africa - English 
United States - English

因此每个项目都是国家名称和语言。如果大多数国家/地区只使用一种或两种语言,这对用户来说不应该是压倒性的。

相关问题