2013-06-04 108 views
0

我有一個選擇框,其中有超過750個選項值。實際上它是在HTML頁面中硬編碼的。我需要它插入一個單獨的表並使用foreach來填充它。請讓我知道這有可能嗎?根據數據庫值更改選擇框的值

<select name="PassNum"> 
<option value="12HTQD" <?php if($PassDetail['Mak']=="12HTQD"){?> selected="selected"<?php } ?> >12HTQD</option> 
<option value="12HTMD" <?php if($PassDetail['Mak']=="12HTMD"){?> selected="selected"<?php } ?> >12HTMD</option> 
<option value="78HTMD" <?php if($PassDetail['Mak']=="78HTMD"){?> selected="selected"<?php } ?> >78HTMD</option> 

--------------------------------------- 
--------------------------------------- 
</select> 

如果我手動操作,耗時太長。

UPDATE

我想從給定的HTML DB..So的硬編碼值,我可以填充它從DB..Now其硬編碼..

在此先感謝。

+0

請澄清問題。你想獲取數據庫值,然後將其設置爲選擇框或要將數據庫值保存到數據庫。 –

+0

我想硬編碼的值從給定的HTML到數據庫..所以我可以填充它從DB..Now其硬編碼.. –

+0

請相應地更改帖子的標題,如果你可以 –

回答

2

請嘗試這種方式..

function getTextBetweenTags($string, $tagname) { 
    $pattern = "/<$tagname ?.*>(.*)<\/$tagname>/"; 
    preg_match_all($pattern, $string, $matches); 
    return $matches["1"]; 
} 


$str = '<option value="12HTQD" <?php if($PassDetail['Mak']=="12HTQD"){?> selected="selected"<?php  } ?> >12HTQD</option> 
<option value="12HTMD" <?php if($PassDetail['Mak']=="12HTMD"){?> selected="selected"<?php } ?> >12HTMD</option> 
<option value="78HTMD" <?php if($PassDetail['Mak']=="78HTMD"){?> selected="selected"<?php } ?> >78HTMD</option> 
'; 


$txt = getTextBetweenTags($str, "option"); 
echo "<pre>"; 
print_r($txt); 

現在,它會返回一個array..You可以用你的邏輯惰性數組值DB ..

+0

謝謝Jerin.Its的工作。 –

0
<select name="PassNum"> 
<option value="12HTQD" <?php if($PassDetail['Mak']=="12HTQD"){?> selected="selected"<?php  } ?> >12HTQD</option> 
<option value="12HTMD" <?php if($PassDetail['Mak']=="12HTMD"){?> selected="selected"<?php } ?> >12HTMD</option> 
<option value="78HTMD" <?php if($PassDetail['Mak']=="78HTMD"){?> selected="selected"<?php } ?> >78HTMD</option> 

--------------------------------------- 
--------------------------------------- 
</select> 

嘗試將此更改爲此。

<select name="PassNum"> 
<?php foreach($data as $d){?> 
    <option value="<?php echo $d['variable_name'];?>" <?php if($PassDetail['Mak']==$d['variable_name']){ ?> selected="selected" <?php } ?> ><?php echo $d['variable_name']; ?> </option> 
<?php } ?> 
</select> 
0
  1. 創建一個ID表passNumValues,passNumValue屬性。
  2. 並將值插入此表。
  3. 這樣的代碼。

    $query_disp="SELECT * FROM passNumValues"; 
    $result_disp = mysql_query($query_disp, $conn); 
    while($query_data = mysql_fetch_array($result_disp)) 
    { 
    ?> 
    <option value="<?PHP echo $query_data['passNumValue'];?>" <?php if($PassDetail['Mak']==$query_data['passNumValue']){?> selected="selected"<?php } ?> ><?PHP echo $query_data['passNumValue'];?></option> 
    <?PHP 
    }?> 
    
1

你可以簡單地做到這一點使用jQuery只是做到這一點

$("select[name=PassNum] option").filter(function() { 
    //may want to use $.trim in here 
    return $(this).val() == "<?php echo $PassDetail['Mak']; ?>"; 
}).prop('selected', true); 
0
<select name="PassNum"> 
    <? foreach($arr as $v){?> 
     <option value="<?=$v['value'];?>" <?=($v['Mak']==$d['name'])?'selected="selected"':"" ?> ><?=$v['name']; ?></option> 
    <? } ?> 
</select>