2016-09-06 59 views
1

簡介:我用session_start();並設置會話變量,$_SESSION["lang"]=1爲英語(默認語言)和$_SESSION["lang"]=2越南。我檢索關鍵字的網站,你可以從這裏看到hitechers.com(我取從所謂words表中的每個lang_id從數據庫的關鍵字,使用SELECT * FROM words WHERE lang_id = {$_SESSION['lang']}如何獲取特定語言的關鍵字爲JavaScript

問題:我怎麼能得到在用戶的語言選擇爲JavaScript的警告或可能的錯誤消息從表中的關鍵字(這是英語或越南語)中的PHP腳本爲我做了很多同樣的方式,請

注:

  • 我從這裏搜索了其他問題,發現他們建議我使用ajax作爲來傳遞服務器端和客戶端腳本中的值,但是根本沒有提供任何細節(!) 。

  • 我並不是要回顯會話變量,而只是將與存儲在$_SESSION中的lang_id 1或2關聯的關鍵字只讀取到Javascript的可能警報或錯誤消息中。

這是你的信息我的話表查詢:

$query = 'CREATE TABLE words (
    word_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, 
    lang_id TINYINT UNSIGNED NOT NULL, 
    foo VARCHAR(30) NOT NULL, 
    bar VARCHAR(30) NOT NULL, 
    PRIMARY KEY (word_id), 
    UNIQUE (lang_id)) ENGINE = MYISAM';` 
+0

FWIW,使用官方語言環境縮寫''en''英語和''vi''越南語,或任何其他非數字的詞是有道理的。不要使用幻數。你最終會混淆每個人,包括你自己。 – deceze

+0

歡迎來到Stack Overflow!我按照SO標準格式化了代碼 - 將代碼示例縮進4個空格,以便正確渲染 - 請參閱[編輯幫助](http://stackoverflow.com/editing-help)。還添加了'sql'作爲標籤 - 讓更多知道該主題的人能夠看到它。祝你好運! – Paritosh

回答

0

我並不完全讓你的問題是什麼。關鍵詞是什麼意思,該網站炫耀什麼?

有兩種方法可以將數據導入到JavaScript中:可以在提供語言版本時預先生成所述關鍵字的表格,也可以使用AJAX請求來請求指定的單詞。對於後者,你必須有一些可用於檢索的API /接口。

作爲一個例子,您可以使用一個名爲retrieveword.php的腳本,該腳本使用get參數來檢索單個單詞。您已經在會話中設置了語言,因此不應該有任何理由將其包含在通話中,但您當然也可以這樣做。所以你的最終電話看起來像這樣:retrieveword.php?lang=1&word=5,並會提供一個簡單的JSON響應,如{"foo": "something", "bar": "something", "wordid": 5, "langid": 1}

或者,您可以將該單詞列表作爲JSON烘焙到您的JavaScript中,因爲它正在交付,但取決於您的表的大小,這可能會非常浪費並暴露大量信息。

+0

「foo」被稱爲關鍵字,「bar」也被稱爲「words」表中的關鍵字,其中lang_id是鏈接到「語言」表的外鍵。如果用戶選擇越南語(lang_id等於#2),則「foo」關鍵字的值將以越南語返回,反之亦然。特別是關於我的項目 - 我的網站 - 你可以看到,如果你將語言切換到越南語,那麼關鍵字'login'被翻譯爲''Đăngnhập''或'register''爲''đăngký''。 –

+0

這個數據結構似乎有點奇怪,除非你正在做實際的翻譯。你如何在代碼中引用''register''字符串?你是通過字符串還是通過ID來查看它?如何爲警報/錯誤生成消息? – Seth

相關問題