Возможно эта ситуация уже здесь описывалась, но я не нашёл. У меня в БД есть таблица Config, в которую записываются конфигурации структуры сайта и т.д. Ну просто чтобы не писать все параметры всех страниц в коде, я решил сделать их в БД и просто вытягивать нужное.
Структура таблицы
Спойлер (Отобразить)CODE (
SQL):
скопировать код в буфер обмена
`Config` (
`Category` varchar(24) NOT NULL, //категория параметра, ну допустим меню, или язык пользователя, или что-нибудь ещё
`Access` varchar(25) NOT NULL, //уровень доступа вошедшего юзера
`Location` text NOT NULL, //местоположение вошедшего юзера
`Variable` text NOT NULL //то что нужно выдать в этой ситуации
)
в этой таблице есть такая запись
Спойлер (Отобразить)CODE (
SQL):
скопировать код в буфер обмена
('Menu', 'Employee', '/', '<UL type=''none''>\r\n<li>".$lang[''link.calls'']."</li><font color=grey>".$lang[''link.calls.desc'']."</font><br>\r\n<li><br>".$lang[''link.stat'']."</li><font color=grey>".$lang[''link.stat.desc'']."</font><br>\r\n<li><br>".$lang[''link.exit'']."</li><font color=grey>".$lang[''link.exit.desc'']."</font><br>\r\n</UL>'),
И вытягивается всё таким запросом
select variable from config where category='Menu' and Access=".$_SESSION['access']." and Location={$_SERVER['REQUEST_URI']}
Всё хорошо, всё прекрасно работает, но
пользователю выводится меню вот в таком виде
Спойлер (Отобразить)CODE (
htmlphp):
скопировать код в буфер обмена
".$lang['link.calls']."
".$lang['link.calls.desc']."
".$lang['link.stat']."
".$lang['link.stat.desc']."
".$lang['link.exit']."
".$lang['link.exit.desc']."
Как теперь сделать так, чтобы перед выводом из БД эти все переменные заменялись в зависимости от языка пользователя? Т.е. выводились не сами переменные, а их значение в соответствии с настройками вошедшего юзера? Имеются несколько Lang файлов