0

ソースとキャンペーンと呼ばれる2つのドロップダウンがあり、これら2つのドロップダウンには、データベースからのデータが表示されます。他の入力フィールドもあります。私の懸念は、このデータを入力した後に保存したいということです。指定された入力でドロップダウンデータを選択すると、データを保存する必要がありますが、データを保存した後、ドロップダウンには、保存ボタンをクリックしたときに選択した選択が表示される必要がありますが、デフォルトの選択が表示されます。私のコードは次のとおりです。これはソース用です。

 $result= mysql_query("SELECT * FROM infosources where kunnr = '".$_SESSION["kunnr"]."' order by sort_order asc");
    $model["source"]=array();
    while($row = mysql_fetch_array($result)){
        array_push($model["source"],$row);

}

これはキャンペーン用です:

$result= mysql_query("SELECT * FROM s_campaigns WHERE kunnr ='".$_SESSION["kunnr"]."' and active = 'true' order by name asc");
$model["campaign"]=array();
while($row = mysql_fetch_array($result)){
    array_push($model["campaign"],$row);

}

ドロップダウンは次のとおりです。

<select name="srcid"> <?php foreach($model["source"] as &$obj){?>
                       <option  value=<?php echo $obj["srcid"];?>>    <?php echo $obj["srcname"];?> </option> 
                           <?php }?></select>

もう1つのドロップダウンは

<select name="camp_id"> <?php foreach($model["campaign"] as &$obj){?>
                       <option <?php if($model["selected"]==$obj[""]){?>selected <?php }?>  value=<?php echo $obj["id"];?>>    <?php echo $obj["name"];?> </option> 
                           <?php }?></select>

これについて私に提案してください...

4

2 に答える 2

1

そのためには、ページを更新するときに表示される値を決定する必要があります

于 2013-01-15T07:10:32.757 に答える
0

これは非常に単純化された例であり、フォームを同じファイルに送信する場合に機能します...フォームを他のファイルに送信する場合、または他のファイルから $selectedCampId 変数をこの html フォームに戻す場合

<?php

// fetch the database to get all possible campaings always... before form was saved and also afterwards
$result= mysql_query("SELECT * FROM s_campaigns WHERE kunnr ='".$_SESSION["kunnr"]."' 
    and active = 'true' order by name asc");

$model["campaign"]=array();
while($row = mysql_fetch_array($result)){
   array_push($model["campaign"],$row);
}

// initiate $selectedCampId .... if the form is sent ... this variable will be filled with the campaign_id so that we know which option was selected... otherwise it wil remain empty..
$selectedCampId= '';

// if the save button was pushed, the form method is POST and the camp_id is not empty
// save the value of the camp_id input field to the variable so that in the next step 
// we know which one was selected
if(!empty($_POST['camp_id'])){
    // validate the input and save the data to database
    // check which campaign id is selected and write it to variable
    $selectedCampId= $_POST['camp_id'];
}

?>
<?php // the form method is POST otherwise use $_GET to fetch the camp_id after the form was sent ?>
<form method="post">
<select name="camp_id"> 
    <?php foreach($model["campaign"] as &$obj): ?>
        <option 
           <?php // if form is sent and $selectedCampId is not empty ... echo selected = "selected" ---- otherwise echo empty string ?>
           <?php echo ($obj['id'] == $selectedCampId) ? 'selected = "selected"' : ""; ?>>
           <?php echo $obj["name"];?> 
        </option> 
    <?php endforeach;?>
</select>
</form>
于 2012-12-01T12:26:46.307 に答える