shtoss
Новичок
Здравствуйте!
Я новичок в php и msql. Пишу для себя сайт. Я решил сделать версии сайта на разных языках. Если нужно вывести какую-то фразу на странице, выполняется следующая функция:
У таблицы languages первый столбец - это некий id фразы (например, index_description), а остальные столбцы - это перевод фразы на разные языки. Если перевода не существует, то используем английскую фразу.
Мой вопрос: насколько такое решение правильное? Ведь, если на странице 20 фраз, то мы дергаем базу 20 раз.
И при этом мы загружаем фразы, которые явно никогда не будут использованы. Т.е. если мы находимся на русской версии сайта, то нам понадобятся русская или английская фразы, но никогда не понадобится китайская.
Я новичок в php и msql. Пишу для себя сайт. Я решил сделать версии сайта на разных языках. Если нужно вывести какую-то фразу на странице, выполняется следующая функция:
PHP:
function put_phrase ($phrase_id, $language) {
$query = 'SELECT * FROM languages WHERE id="'.$phrase_id.'"';
$create_phrase_result = mysql_query($query) or die("Invalid query: " . mysql_error());
$create_phrase = mysql_fetch_array($create_phrase_result);
$phrase = $create_phrase[$language];
if ($phrase == NULL) {
$phrase = $create_phrase[en];
}
echo $phrase;
}
Мой вопрос: насколько такое решение правильное? Ведь, если на странице 20 фраз, то мы дергаем базу 20 раз.
И при этом мы загружаем фразы, которые явно никогда не будут использованы. Т.е. если мы находимся на русской версии сайта, то нам понадобятся русская или английская фразы, но никогда не понадобится китайская.