2017-03-28 9 views
1

私はSQL Serverのストアドプロシージャにphpを使用しています。私の問題は、ドロップダウンで1つの値を表示したいのですが、誰かが何か他のものを選択してページをリフレッシュすると、その人が何を選択したのかを表示する必要があります。ここまで私が何をしていたのですか:phpのドロップダウンが選択されていますが、デフオルトの値が1つ表示されます

<form method="post"> 
      <label for="from"><b>De:</b></label> 
      <input data-date-format='yy-mm-dd' type="text" id="from" name="from" size="6" value="<?php if(isset($_POST['from'])){ echo $_POST['from']; } ?>";/> 
      <label for="to"><b>A:</b></label> 
      <input data-date-format='yyyy-mm-dd' type="text" id="to" name="to" size="6" value="<?php if(isset($_POST['to'])){ echo $_POST['to']; } ?>";/> 
      <label for="group"><b>Groupe:</b></label> 
      <select type= "text" name="group" id="group" value="";> 
      <option><?php if(isset($_POST['group'])){ echo $_POST['group']; } ?></option> 
<?php 
$sql = " Get_List_ReportStation"; 
$stmt = sqlsrv_query($conn, $sql); 
if($stmt === false) { 
    die(print_r(sqlsrv_errors(), true));} 
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) 
{ 
?>   
<option selected value="RAL"><?php echo ($row['F1000'] . " " . $row['F1018']); ?></option>  
<?php 
} 
?> 
</select> 
<input type="submit" value="Valider" name="submit"> 
</form> 
<?php 
if(isset($_POST["submit"])) { 
$from = $_POST["from"]; 
$to = $_POST["to"]; 
$group = $_POST["group"]; 
} 
?> 

何か私を助けるアイデア?ありがとうございました!

答えて

1
<select class="group"> 
    <option value="test1">test1</option> 
    <option value="test2">test2</option> 
    <option value="test3">test3</option> 
    <option value="test4">test4</option> 
</select>  

ユーザーに最後の値をローカルストアに保存するためにJavascriptを追加します。

var select = document.querySelector(".group"); 
var selectOption = select.options[select.selectedIndex]; 
var lastSelected = localStorage.getItem('select'); 

if(lastSelected) { 
    select.value = lastSelected; 
} 

// sets up a onselected 
select.onchange = function() { 
    lastSelected = select.options[select.selectedIndex].value; 
    console.log(lastSelected); 
    localStorage.setItem('select', lastSelected); 
} 

出典:自分の与えられたコードの場合How to use LocalStorage on last HTML select value

は、はい、私は理解しますが、私の情報は、私のストアドプロシージャから来るので、私はどうなるか分からないこの

<form method="post"> 
      <label for="from"><b>De:</b></label> 
      <input data-date-format='yy-mm-dd' type="text" id="from" name="from" size="6" value="<?php if(isset($_POST['from'])){ echo $_POST['from']; } ?>";/> 
      <label for="to"><b>A:</b></label> 
      <input data-date-format='yyyy-mm-dd' type="text" id="to" name="to" size="6" value="<?php if(isset($_POST['to'])){ echo $_POST['to']; } ?>";/> 
      <label for="group"><b>Groupe:</b></label> 
      <select type= "text" name="group" id="group"> 
      <option><?php if(isset($_POST['group'])){ echo $_POST['group']; } ?></option> 
<?php 
$sql = " Get_List_ReportStation"; 
$stmt = sqlsrv_query($conn, $sql); 
if($stmt === false) { 
    die(print_r(sqlsrv_errors(), true));} 
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) 
{ 
?>   
<option value="<?php echo ($row['F1000']."_".$row['F1018']); ?>"><?php echo ($row['F1000'] . " " . $row['F1018']); ?></option>  
<?php 
} 
?> 
</select> 
<input type="submit" value="Valider" name="submit"> 
</form> 
<script> 
var select = document.querySelector(".group"); 
var selectOption = select.options[select.selectedIndex]; 
var lastSelected = localStorage.getItem('select'); 

if(lastSelected) { 
    select.value = lastSelected; 
} else { 
    select.value = 'RAL'; // new code 
} 

// sets up a onselected 
select.onchange = function() { 
    lastSelected = select.options[select.selectedIndex].value; 
    console.log(lastSelected); 
    localStorage.setItem('select', lastSelected); 
} 
</script> 
<?php 
if(isset($_POST["submit"])) { 
$from = $_POST["from"]; 
$to = $_POST["to"]; 
$group = $_POST["group"]; 
} 
?> 
+0

を試してみてくださいドロップダウンに入ってください。 –

+0

あなたのストアドプロシージャを介して情報がPHPによってHTMLに取り込まれた後、あなたのJavaScriptが実行されます。 htmlが生成されると、クライアントはhtml + jsを受信し、jsを実行します。このコードはドロップダウンリストの値とは関係ありません:) –

+0

Sorrry、私は初心者です。私はあまりよく分からない。私のストアドプロシージャから情報を取得する場合:?php echo($ row ['F1000']。 ""。$ row ['F1018']); ?私の選択肢では_ALISの値 "RAL" _を持っています。 RALはデフォルト値ですが、他の誰かが別のものを取っている場合、私は次のように呼び出します:php if(isset($ _ POST ['group'])){echo $ _POST ['group'];あなたが言ったことをやり遂げ、同じ結果を保つためには、ちょうど私は変わらなければなりません。ありがとうございました! –

関連する問題