我从数据库中获取了一些单选按钮。数据表就像 -
id title name option1 option2 option3
------ ------- ------- ------- ------- ----------
1 Wi-Fi wifi Yes No (NULL)
4 Parking parking Yes No Optional
我有以下代码从数据库中获取数据。
$get_biz_meta_list = mysqli_query($connect, "SELECT * FROM biz_meta_list")
<form class="form-horizontal" action="add-biz-meta.php" role="form" method="post" >
<?php
while($biz_meta_list = mysqli_fetch_array($get_biz_meta_list,MYSQL_ASSOC)){
?>
<input type="hidden" name="mid" value="<?php echo $biz_meta_list['id'];?>" />
<div class="form-group col-md-12">
<label for="inputEmail1" class="col-md-3 control-label"><?php echo $biz_meta_list['title'];?></label>
<div class="col-md-2">
<input type="radio" name=meta[<?php echo $biz_meta_list['id'];?>] value="<?php echo $biz_meta_list['option1'];?>"/><?php echo $biz_meta_list['option1'];?>
</div>
<div class="col-md-2">
<input type="radio" name=meta[<?php echo $biz_meta_list['id'];?>] value="<?php echo $biz_meta_list['option2'];?>"/><?php echo $biz_meta_list['option2'];?>
</div>
<?php
if($biz_meta_list['option3']!==null){
?>
<div class="col-md-2">
<input type="radio" name=meta[<?php echo $biz_meta_list['id'];?>] value="<?php echo $biz_meta_list['option3'];?>"/><?php echo $biz_meta_list['option3'];?>
</div>
<?php
}
?>
</div>
<?php
}
?>
<div class="form-group">
<div class="col-md-offset-5 col-md-6">
<input type="submit" class="btn btn-primary" value="Save" name="savemeta" />
</div>
</div>
</form>
然后提交后,它会将选定的字段发布到另一个表。这意味着如果我选择&#34; Yes
&#34; for&#34; Wi-Fi
&#34;那么&#34; Title
&#34;和&#34; Option1
&#34;将保存到数据库中。如果两个&#34; Wi-Fi
&#34;和&#34; parking
&#34;然后选择这两个值将存储在单独的行中。我试图抓住像这样的价值 -
if(isset($_POST['savemeta'])){
foreach ($_POST['meta'] as $meta){
$meta_name = get_meta_name($meta,$connect);
echo $meta_name;
}
}
$ get_meta_name是一个自定义函数,将重新标记标题。
但它在后回声中显示空白。请帮我。
答案 0 :(得分:2)
您在单选按钮名称属性中遗漏了一些引号。 循环遍历$ _POST ['meta']时,会丢失索引,即您选项的ID。我不知道你的get_mena_name函数是做什么的,但我不知道它会如何返回'name',因为$ meta只包含'Yes'或'No'值。
更正单选按钮引号
name="meta[<?php echo $biz_meta_list['id'];?>]"
和你的php一样:
foreach ($_POST['meta'] as $id=>$value){
//do your stuff with the ID and its value
$meta_name = get_meta_name($id,$connect);
echo $meta_name;
}