使用复选框

时间:2010-03-07 03:36:05

标签: php html checkbox

晚上好。我对编程比较陌生,花了不少时间试图通过复选框解决问题。我想弄清楚的是如何编写以下代码:

  • 我希望我的表单用户能够从1到4个事件中选择任意位置,并且能够在mysql数据库中存储这些选择的内容。例如,如果检查事件1然后存储1,如果没有则存储0.我明白这需要使用foreach循环或类似的东西,但我似乎无法弄清楚如何实现它

  • 当我要么必须编辑信息或者只是在允许在网站上查看信息之前批准信息时,我现在需要能够“重新检查”该框在表单上基于客户最初设置的方式。我再次基本了解如何做到这一点,但是......

在以太的某处,必须存在一个可以帮助我理解如何完成这些任务的网站。如果你知道一个,请告诉我们网址,这样我就可以学习并完成目标。

感谢您的帮助,

丹尼斯

1 个答案:

答案 0 :(得分:1)

  

我希望我的表单用户能够从1-4个事件中选择任何地方,并且能够在mysql数据库中存储这些选择的内容。例如,如果检查事件1然后存储1,如果没有则存储0.我明白这需要使用foreach循环或类似的东西,但我似乎无法弄清楚如何实现它

给复选框指定相同的名称但不同的值。

<input type="checkbox" name="events" value="1"> event 1<br>
<input type="checkbox" name="events" value="2"> event 2<br>
<input type="checkbox" name="events" value="3"> event 3<br>
<input type="checkbox" name="events" value="4"> event 4<br>

$_GET['events']将仅返回数组中的已检查值。

  

当我到达我要么必须编辑信息或者只是在允许在网站上查看信息之前批准信息时,我现在需要能够“重新检查”该框在表单上基于客户最初设置的方式。我再次基本了解如何做到这一点,但是......

您需要根据请求参数设置checked属性。

$events = $_GET['events']; // Don't forget to do prechecks and sanitize magic quotes.
// ...

<input type="checkbox" name="events" value="1" <?php echo (in_array(1, $events) ? 'checked' : '') ?>>
<input type="checkbox" name="events" value="2" <?php echo (in_array(2, $events) ? 'checked' : '') ?>>
// ...

换句话说,如果在1$events可用(已选中),则只需打印checked属性,这将选中复选框。如果您在关联数组中有复选框标签和初始值,您当然可以在foreach循环中打印所有内容。