2016-09-06 4 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 как мост для передачи значений с серверных и клиентских скриптов, но никаких подробностей не было дано (!) ,

  • Я не хочу, чтобы повторить переменные сессии, а просто получать ключевые слова, связанные с lang_id 1 или 2, хранящейся в $_SESSION в Javascript «s возможные предупреждения или только сообщения об ошибках.

Это мое слово таблицы запрос для вашей информации:

$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

Добро пожаловать в переполнение стека! Я отформатировал код в соответствии со стандартом 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}.

В качестве альтернативы вы можете испечь этот список слов в своем javascript как JSON по мере его доставки, но в зависимости от размера вашей таблицы, который может быть очень расточительным и разоблачить много информации.

+0

«foo», называется ключевым словом, а «bar» также называется ключевым словом в таблице 'words', из которых' lang_id' является внешним ключом для ссылки на таблицу 'languages'. Если пользователь выбирает вьетнамский язык (lang_id равен # 2), тогда значение ключевого слова «foo» вернется на вьетнамском или наоборот.В частности, о моем проекте - моем веб-сайте - вы можете видеть, что ключевое слово 'login' было переведено как' 'Đăng nhập'' или' 'register'', чтобы быть' 'đăng ký'', если вы переключите язык на вьетнамский. –

+0

Эта структура данных кажется странной, за исключением случаев, когда вы выполняете фактические переводы. Как вы ссылаетесь на строку '' register '' в коде? Вы просматриваете строку или идентификатор? Как вы генерируете сообщения для предупреждений/ошибок? – Seth