【问题标题】:Filter tags by tags and count按标签过滤标签并计数
【发布时间】:2012-11-28 00:45:58
【问题描述】:

我的mysql结构如下:

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

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

这是一个食谱。它是一道开胃菜(course_id 3 使用 php 数组转换为开胃菜,因为页面是多语言的)。 这道开胃菜来自它。 'it' 在 PHP 中再次翻译为意大利,因为国家名称将是多语言的。 配方是用英语编写的(language_id 是与语言表的一对多关系,语言 id 1 是英语)。 提供此信息以防万一它改变任何东西,我对此表示怀疑,但最好谨慎行事。

每篇文章只有一个标签。

我需要的是一个与所有可用选项相呼应的选择列表(与正在使用的过滤器相关的选项,因此,如果我没有来自南非的法语食谱,如果法语是选择的语言)。

Google 一无所获,我的时间不多了,我的想法为零。有什么方法可以轻松实现吗?

我研究了http://luis-almeida.github.com/filtrify/ 并认为这正是我想要的功能,但我认为它对大型数据库来说太重了,因为我必须查询整个数据库并列出一个列表从中。但我可能错了。

使用类似http://harvesthq.github.com/chosen/ 的实现也可以用于选择,但我什至不知道如何实现它。

任何帮助都会非常棒。我在这里完全超出了我的头脑,并且完全没有编程热情。我已经花了几天的时间在这上面画一个空白。没有别的要问了。

【问题讨论】:

    标签: php jquery mysql laravel


    【解决方案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
    

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

    【讨论】:

      猜你喜欢
      • 2017-05-25
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 2014-07-15
      • 2012-07-04
      • 2019-02-15
      • 1970-01-01
      相关资源
      最近更新 更多