2012-12-01 108 views
0

我確實有兩個下拉菜單,稱爲源和廣告系列,這兩個下拉菜單顯示了來自數據庫的數據。我也有其他輸入字段。我擔心的是我想要在填充給定輸入後保存這些數據並選擇下拉數據,它必須保存,但在保存數據後,下拉菜單必須顯示我點擊保存按鈕時選擇的選擇,但它顯示的是默認值。 我的代碼如下: 這是來源:保存後下拉選擇

$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> 

和其他降down is

<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> 

請在此建議我...

+0

什麼是這兩個表的表模式? –

+0

這個來源有它自己的被稱爲「srcid」,並且該活動擁有它自己的「camp_id」 –

+1

是的,但是你正在裝載一張桌子,並尋找「selected」列。我假設在桌子上。這就是爲什麼如果你可以發佈'DESCRIBE s_campaigns'和'DESCRIBE infosources',那將是一件好事。 –

回答

0

這是一個非常簡單的示例,只是在您將表單發送到同一文件時工作...如果您將表單發送到任何其他文件或者如果您通過從另一個文件回到這個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> 
+0

看看我有一個保存按鈕,這兩個下拉菜單和一些輸入文本第一個我必須在輸入文本中輸入一些數據,然後從數據庫中選擇其中的一個下拉列表,然後單擊保存按鈕。所有數據都將被保存,但關注點在於點擊保存按鈕後刷新後,相同的數據顯示在這個過程的每次下拉,我希望相同的數據或選擇必須顯示在下拉列表中我點擊保存按鈕之前選擇。請幫助我爲了這。你給定的代碼是nt wrkng –

+0

看我有一個保存按鈕,這兩個下拉和一些輸入文本首先我必須把一些數據輸入文本,然後選擇任何一個下拉是哪些來自數據base.and然後點擊保存按鈕。所有的數據正在保存,但關注點擊保存按鈕後,頁面刷新,並在它之後相同的數據顯示在這個過程的每一次下拉,我希望必須在下拉菜單中顯示相同的數據或選擇內容,然後點擊保存按鈕。請爲我提供幫助。你給的代碼是nt wrkng –

1

的,你必須在你刷新頁面的時間來決定鑑於價值$ selectedCampId變量