2016-06-26 5 views
0

私は、Linux GUIの使用だけで、Linuxルータの基本的なワイヤレスパラメータを変更するために私の学校のプロジェクトに取り組んでいます。私は主にPHPで働いた。今のところ私はうまくいっていますが、今私は立ち往生しており、私の小さな問題の解決策は見つけられません。デフォルト値がtxtファイルのドロップダウンメニュー

私は次のドロップダウンがあります。

<form method="post" action="changefrequency.php"> 
<select name="freq"> 
<option value="auto">Auto</option> 
<option value="2412">Channel 1</option> 
<option value="2417">Channel 2</option> 
<option value="2422">Channel 3</option> 
<option value="2427">Channel 4</option> 
<option value="2432">Channel 5 </option> 
<option value="2437">Channel 6</option> 
<option value="2442">Channel 7</option> 
<option value="2447">Channel 8</option> 
<option value="2452">Channel 9</option> 
<option value="2457">Channel 10</option> 
<option value="2462">Channel 11</option> 
<option value="2467">Channel 12</option> 
</select> 
    <input type="submit" value="Set Frequency"/> 
</form> 
</div> 

を私は値がのは、FTPアップロードを使用して内部コマンドを使用してPHPスクリプトを経由してルータにオプション2432(CHANNEL5)を言わせて、それが正常に動作します投稿。私は自動的にtxtファイルに周波数をダウンロードするスクリプトを作成しました。 HTMLから選択し、ドロップダウンチャネル5の値2432で投稿したユーザーが、内部に2432または頻度= 2432のtxtをローカルに保存するとしましょう。

今私の質問は、どのような値がtxtファイルの中にあるのかをチェックし、それをドロップダウンのデフォルト値にする方法です。 ユーザが周波数を変更するたびに、デフォルト値がドロップダウンメニューで変更されます。

ありがとうございました!

答えて

0

$freqNumber = file_get_contents("mytextfile.txt");のようなオプションをプリントアウトするために反復(アンソニー・Astigeからの回答を参照してください) 私がいない場合、あなたがする必要がある、$ freqNumberだけの数が含まれていることを、次の行に仮定PHPで調整してください。

次に、「選択済み」を追加する場所を確認する必要があります。これは、選択されているデフォルト値がどれであるかをhtmlに通知します。

<option value="2412" <?php if($freqNumber == 2412){echo " selected";} ?>>Channel 1</option> 

すべてのオプションでこれを行うことができます。

0
+0

私はfile_get_contentsを知っています。例えば、frequncey:2432、ドロップダウンのデフォルト値を作る方法です。 –

+0

私の回答を更新しました –

+0

お手伝いをしてくれてありがとうdafault値はtxtファイルから読み取らなければなりません。既定値は、ユーザーが何度も動的に変更する必要があります。つまり、index.html .txtファイルを読み込み、既定値を変更または確認する必要があります。どのようにこれを行うにはどのようなアイデア? –

0

使用file_get_contentsでHTMLを送信した後、もちろん

<option value="2412" <?php if($val == '2412'): ?>selected<?php endif; ?>>Channel 1</option> 

を使用するためにPHPを使用し続いてfile_get_contents

でファイルを読み、これがために行うのは面倒ですすべての単一周波数ので、私はあなたのような配列にこれらをすべて格納することをお勧めします

$frequencies = ['2412' => 'Channel 1', '2417' => 'Channel 2']; 
その後、

などと

foreach($frequencies as $k => $v): 
    if($k == $val) 
     $selected = 'selected'; 
    else 
     $selected = ''; 
    echo '<option value="' . $k . '" ' . $selected .' >' . $v . '</option>'; 
endforeach; 
関連する問題