我有一个选择框,其中有超过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>
如果我手动操作,这太费时间了。
更新
我想要从给定的HTML到DB的硬编码值。所以我可以从DB填充它..现在它的硬编码..
提前致谢。
答案 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);
现在它将返回一个数组。你可以使用你的逻辑将数组值惰性化为db ..
答案 1 :(得分: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);
答案 2 :(得分: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>
答案 3 :(得分:0)
这样的代码。
$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
}?>
答案 4 :(得分:0)
<select name="PassNum">
<? foreach($arr as $v){?>
<option value="<?=$v['value'];?>" <?=($v['Mak']==$d['name'])?'selected="selected"':"" ?> ><?=$v['name']; ?></option>
<? } ?>
</select>