Я пытаюсь сделать сайт на разных языках, и я получаю эту информацию из базы данных. Пока у меня есть два языка: английский и голландский.Пока петля в переключатель в PHP?
Что я хотел бы сделать, это получить все возможности языка и поместить это в переключатель. Поэтому, если люди нажмут, например, на эту ссылку: index.php? Page = NL, они получат голландский перевод страницы.
Так что это код, который я использую. Он работает до сих пор, но показывает, что я думаю, что опция языка и опция по умолчанию. Потому что, когда я удаляю по умолчанию, я получаю только код.
<div id="content">
<?php
//Retrieve languages
$querySwitchLang = "SELECT * FROM languages";
$resultSwitchLang = mysql_query($querySwitchLang);
?>
<?php
while($rowSwitchLang = mysql_fetch_array($resultSwitchLang)){
switch($page){
case $rowSwitchLang['langCode']:include('page.php');break;
default: include('pageDefault.php');
break;
}
}
?>
</div>
Так на самом деле я хотел, чтобы это так, потому что теперь он работает заявления переключателя столько раз, сколько есть языки, я думаю:
<div id="content">
<?php
//Retrieve languages
$querySwitchLang = "SELECT * FROM languages";
$resultSwitchLang = mysql_query($querySwitchLang);
?>
<?php
include('functions.php');
switch($page){
while($rowSwitchLang = mysql_fetch_array($resultSwitchLang)){
case $rowSwitchLang['langCode']:include('page.php');break;
}
default: include('pageDefault.php');
break;
}
?>
</div>
Но это не работает, потому что тогда я буду получите эту ошибку:
Parse error: syntax error, unexpected 'while' (T_WHILE), expecting case (T_CASE) or default (T_DEFAULT) or '}' in C:\wamp\www\glimpler\index.php on line 6
Я не могу понять, как решить эту проблему.
Невозможно. Одна работа вокруг была бы поставить ваш цикл в функцию, а затем вызвать это для вашего дела. –
Почему вам нужен цикл для каждого языка, когда вы включаете одну и ту же страницу каждый раз? – Novocaine
Любые причины не использовать 'WHERE' для проверки этого внутри вашего SQL-запроса? –