다른 언어로 된 웹 사이트를 만들고 데이터베이스에서이 정보를 검색하려고합니다. 지금은 영어와 네덜란드어 두 가지 언어가 있습니다.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
SQL 쿼리에서 이것을 확인하기 위해'WHERE'를 사용하지 않은 이유는 무엇입니까? –