2014-10-06 87 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