Php 根据数据库值更改selectbox值

Php 根据数据库值更改selectbox值,php,mysql,dom,Php,Mysql,Dom,我有一个选择框,它有超过750个选项值。实际上它是在HTML页面中硬编码的。我需要它插入一个单独的表并使用foreach填充它。请让我知道是否可能 <select name="PassNum"> <option value="12HTQD" <?php if($PassDetail['Mak']=="12HTQD"){?> selected="selected"<?php } ?> >12HTQD</option> <optio

我有一个选择框,它有超过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填充它。现在它是硬编码的

提前谢谢

<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>
试着把这个换成这个

<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>
创建一个具有id、passNumValue属性的表passNumValue。 并在此表中插入值。 代码是这样的

$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
}?>
创建一个具有id、passNumValue属性的表passNumValue。 并在此表中插入值。 代码是这样的

$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
}?>
请往这边走

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

请尝试这种方式

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

您只需使用jquery执行此操作即可

<select name="PassNum">
    <? foreach($arr as $v){?>
        <option value="<?=$v['value'];?>" <?=($v['Mak']==$d['name'])?'selected="selected"':"" ?> ><?=$v['name']; ?></option>
    <? } ?>
</select>

您可以简单地使用jquery来实现这一点

<select name="PassNum">
    <? foreach($arr as $v){?>
        <option value="<?=$v['value'];?>" <?=($v['Mak']==$d['name'])?'selected="selected"':"" ?> ><?=$v['name']; ?></option>
    <? } ?>
</select>

请澄清问题。您是要获取数据库值,然后将其设置为“选择框”还是要将数据库值保存到数据库。我希望将给定HTML中的硬编码值保存到数据库中。这样我就可以从数据库中填充它。现在它是硬编码的。如果您需要,请相应地更改文章的标题,试试我的答案,看看是否对你有用。谢谢Nirmal Ram。我从另一个人那里得到了解决方案。实际上,这就是我要问的。请澄清问题。您是要获取数据库值,然后将其设置为“选择框”还是要将数据库值保存到数据库。我希望将给定HTML中的硬编码值保存到数据库中。这样我就可以从数据库中填充它。现在它是硬编码的。如果您需要,请相应地更改文章的标题,试试我的答案,看看是否对你有用。谢谢尼马尔·拉姆。我从另一个人那里得到了解决办法。事实上,这就是我要问的。。