2014-10-30 8 views
-1

select option 드롭 다운 메뉴를 사용하여 MySQL 테이블의 언어를 변경하는 웹 페이지를 프로그래밍 중입니다. 현재 두 가지 언어 옵션 만 있습니다. 간단히 메뉴가 MySQL 테이블의 현재 값을 반영하도록합니다.PHP 드롭 다운 옵션 "선택됨"

MySQL에서 값을 검색하여 변수 $valuelanguage에 할당합니다. 다음은 작동하지 않습니다 내가 사용하고있는 PHP 코드입니다 :

<select id="language" name="language">      
<?php 
if($valuelanguage=="en") 
{ 
echo '<option selected value="en">English</option>'; 
echo '<option value="de">Deutsch</option>'; 
} 
else 
{ 
echo '<option value="en">English</option>'; 
echo '<option selected value="de">Deutsch</option>'; 
} 
?> 
</select> 

을 순간, 내 $valuelanguage 드 다음 메뉴가 선택한 옵션으로 "독일어"로 변경해야하는 경우는, 대신에 그것을 "영어"에 머물러 있습니다. 내가 어디로 잘못 가고 있니?

+0

신발을 코드화 할 때 반드시 확인해야합니다. Deutsch는 잘못된 것을하지 않습니다 ... –

+2

note 대부분의 브라우저는 단순히 페이지를 새로 고칠 때 값을 변경하지 않습니다. 선택 옵션이 변경되기 전에 전체 새로 고침을 수행하려면 강제 새로 고침 (예 : Shift-F5)을 수행해야합니다. –

+0

물론 Deutsch 일 때 변경하고 싶습니다. 내 요점은 변화가 없다는 것이 었습니다. 너는 힘의 새로 고침을 사용해야 만하지만 아무것도 바뀌지 않는다는 것이 옳다. 문자열 비교에 오류가 있습니까? – RootWannaBe

답변

1

문제는 귀하의 코드가 아닙니다. Firefox의 최신 버전에서 테스트했지만 $valuelanguage의 값을 de으로 변경하면 새로 고침 (F5)이 작동하지 않습니다. 그러나 CTRL+F5을 누르면 변경 내용이 적용됩니다.

나는이 question에 대한 대답과 그것이 제공하는 링크도 도움이된다고 생각합니다.

+0

나는 모든 브라우저를 사용했지만 변경이 없습니다. 심지어 frorced 새로 고침이 작동하지 않습니다. – RootWannaBe

0

이 기능을 if, else 스위치에서 대소 문자 스위치로 변경했습니다. 새로 고침과 상관없이 완벽하게 작동합니다. 코드는 다음과 같습니다.

<?php 
$valuelanguage = mysql_query("SELECT value FROM configuration WHERE label='language'"); 
$lang = mysql_result($valuelanguage, 0); 
{ 
switch ($lang) { 
case "en": 
echo '<option selected value="en">English</option>'; 
echo '<option value="de">Deutsch</option>'; 
break; 
case "de": 
echo '<option value="en">English</option>'; 
echo '<option selected value="de">Deutsch</option>'; 
break; 
} 
} 
           ?> 

If/If가 작동하지 않는 이유는 알 수 없습니다.

0

같은 어떤 것을 사용 및 $ valuelanguage 경우가 ....

<select id="language" name="language"> 
<option value="en" <?php if($valuelanguage=="en"){?> selected<?php }?>>English</option> 
<option value="de" <?php if($valuelanguage=="de"){?> selected<?php }?>>Deutsch</option> 
</select>      
0
<select id="language" name="language"> 
    <option value="en" <?php echo $valuelanguage=="en"? "selected" :"";?> >English</option> 
    <option value="de" <?php echo $valuelanguage=="de"? "selected" :""; ?>>Deutsch</option> 
</select> 

이 시도를 작동하는지 말해! = EN 또는 다음 영어 선택 해제. $ valuelanguage가 en이고 메뉴가 영어로 선택되어 있다면 ... $ valuelanguage == en 또는 de