显示MySQL数据库中多个复选框的值

时间:2016-05-26 10:06:30

标签: php mysql forms checkbox explode

我有一个表格,它使用多个复选框字段来保存个人资料数据。

这些值正在提交到数据库,例如1, 2礼貌的$_POST变量,但我似乎无法弄清楚如何在个人资料页面上展开它们并显示这些值。

我的提交代码(插入查询的一部分);

$profile_piercings = implode(", ", $_POST['profile_piercings']);

我的个人资料代码用于回显值;

<?php if(!empty($profile['profile_piercings'])){ ?>
<dt>Piercings</dt>
<dd><?php //echo $profile['profile_piercings'] ?>
<?php 
$piercing_values = $profile['PiercingsText'];
$piercings = explode(", ", $piercing_values);
echo $piercing_values; ?></dd>
<?php } ?>

打印爆炸数组时,看起来我的查询只传递了第一个值。我需要这样做以将数值转换为相应的文本值(例如1 =耳朵)。

我的SQL代码的摘录;

frmhaircolour.id,
                frmhaircolour.textvalue AS HairColourText,
                frmpiercings.id,
                frmpiercings.textvalue AS PiercingsText,
FROM profiles
            LEFT JOIN frmeyecolour ON profiles.profile_eyecolour = frmeyecolour.id
            LEFT JOIN frmhaircolour ON profiles.profile_haircolour = frmhaircolour.id
            LEFT JOIN frmpiercings ON profiles.profile_piercings = frmpiercings.id

2 个答案:

答案 0 :(得分:0)

遍历你的阵列:

$piercings = explode(", ", $piercing_values);
foreach ($piercings as $piercing) {
   echo $piercing."<br>";
}

答案 1 :(得分:0)

要使所有值都使用foreach

$piercings = explode(", ", $piercing_values);
foreach ($piercings as $piercing) {
   echo $piercing."<br>";
}

获取具体值:

$piercings = explode(", ", $piercing_values);
echo $piercing[0]."<br>"; // or $piercing[1]; depending on what you want.