我的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/之类的实现也可以进行选择,但我不知道如何为此实现它。
任何帮助都会非常棒。我在这里过得很开心,完全没有编程热情。我已经花了几天时间在这上面,我正在画一个空白。别无其他问题。
答案 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
因此每个项目都是国家名称和语言。如果大多数国家/地区只使用一种或两种语言,这对用户来说不应该是压倒性的。