2014-10-06 53 views
-4

我正在实施tagmate到博客,我想知道如果我使用php作为后端,我怎么能添加mysql源代码。我只希望源代码与用户输入的内容相关。如何将mysql功能添加到tagmate?

例子:

  • 我输入:@nick它不是那么简单

  • 当我键入@nick,一个Ajax请求到查询MySQL数据库表和检索所有的PHP文件做结果与我输入的内容相关。

  • 中也许JSON这是再运回(我不知道thispart)

  • 我tagmate web应用程序获取此信息将其作为下拉建议列表。

可以这样做吗?

+0

听起来像一个非常糟糕的主意......你在做每个请求@符号? (这可以使事情变得非常缓慢),它应该作为json发送......并且几乎可以完成任何事情,但是这个问题不仅方式太宽,而且也是关闭的主题 – 2014-10-06 18:29:23

+1

什么是标签?你在说这个吗? https://github.com/pinterest/tagmate – mpen 2014-10-06 18:29:38

+0

@JohnRuddell你有更好的主意吗?如果该网站拥有数百万用户,则无法准确预加载数据。如果后面跟着2个或更多字母,并且可能以空格开头,我会让它每个@都发出一个ajax请求。 – mpen 2014-10-06 18:31:44

回答

0

该tagmate库的文档是废话。它说sources选项将接受一个函数,但它不会告诉你它收到了什么参数。如果你dig into the source它看起来像一个术语作为第一个参数,你应该称之为第二个参数。所以你需要在那里发送你的ajax请求,然后在返回时调用done(results)

Consult jQuery找出如何执行您的ajax请求。您需要将所提供的术语传递给PHP后端,以便您可以执行SQL查询。

事情是这样的:

$("#myTextarea").tagmate({ 
    sources: function(data, done) { 
     $.ajax({ 
      url: '/api/users.php', // will receive $_GET['term'] 
      data: data 
     }).done(function(result) { 
      done(result); // should return JSON data in the format [{label:'Mr. Foo',value:'foo'}] 
     }); 
    } 
}); 
+0

完全正是我所寻找的!谢谢@Mark – Nickk 2014-10-06 20:45:45