【问题标题】:How to fetch keywords of a specific language into Javascript如何将特定语言的关键字提取到 Javascript 中
【发布时间】:2017-01-13 12:19:24
【问题描述】:

简介:我使用了session_start(); 并设置了会话变量,$_SESSION["lang"]=1 用于英语(默认语言),$_SESSION["lang"]=2 用于越南语。正如您从这里看到的那样,我检索了网站的关键字 hitechers.com(我使用 SELECT * FROM words WHERE lang_id = {$_SESSION['lang']} 从数据库中的每个 lang_id 的所谓 words 表中获取关键字。

问题:如何以与php 脚本可以帮我做吗?

注意:

  • 我从这里搜索了其他问题,发现他们建议我使用 ajax 作为 bridge 从服务器端和客户端脚本传递值,但没有详细信息完全被给予(!)。

  • 我并不是要回显会话变量,而只是将与存储在$_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';`

【问题讨论】:

  • FWIW,使用官方语言环境缩写 'en' 表示英语,'vi' 表示越南语,或任何其他有意义的非数字单词。不要使用幻数。最终你会迷惑所有人,包括你自己。
  • 欢迎来到 Stack Overflow!我已经按照 SO 标准格式化了代码 - 将代码示例缩进 4 个空格,以便正确呈现 - 请参阅 the editing help。还添加了sql 作为标签——让更多了解该主题的人看到它。祝你好运!

标签: javascript php sql session


【解决方案1】:

我不完全明白你的问题是什么。您所说的关键字究竟是什么意思,该网站应该展示什么?

有两种方法可以将数据导入 javascript:在交付语言版本时预先构建所述关键字的表格,或者使用 AJAX 请求来请求指定的单词。对于后者,您必须有某种 API/接口可供检索。

例如,您可以有一个名为 retrieveword.php 的脚本,它使用 get 参数来检索单个单词。您已经在会话中设置了语言,因此没有理由将其包含在通话中,但当然您也可以这样做。因此,您的最终调用可能如下所示:retrieveword.php?lang=1&word=5 并会提供一个简单的 JSON 响应,例如 {"foo": "something", "bar": "something", "wordid": 5, "langid": 1}

或者,您可以在交付时将该单词列表作为 JSON 烘焙到您的 javascript 中,但这取决于您的表格的大小,这可能会非常浪费并暴露大量信息。

【讨论】:

  • “foo”,称为关键字,“bar”也称为words表中的关键字,其中lang_id是链接到languages的外键桌子。如果用户选择越南语(lang_id 等于#2),则“foo”关键字的值将以越南语返回,反之亦然。特别是关于我的项目——我的网站——你可以看到关键字login被翻译成'Đăng nhập''register'被翻译成'đăng ký'如果你把语言切换成越南语。
  • 这种数据结构看起来有点奇怪,除非你正在做实际的翻译。您如何引用代码中的"register" 字符串?您是按字符串还是按 id 查找?您如何生成警报/错误消息?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多