我有一个表格,允许用户选择他们希望申请的许可证类型。有3种类型的许可证类别和8种许可证类型。
请查看此屏幕截图,以便更好地理解:http://imgur.com/qOlv8
对于课程,用户只能选择1.但对于类别,用户可以应用多个或单个。
用户可以选择2个类别但是0个类别。同样,用户可以选择1个类和0个类别。但是用户必须至少从11个选项中选择一些东西。
EG。用户仅申请1级或用户申请CAT 2TT和CAT 3PG。
我的表格编码:
<div class="contents">
<form id="applicationoptions" method="post" action="s_apply_now.php">
<div id="optionshead">Class :</div>
<div id="classoptions">
<input type="radio" name="class" value="1" /> Class 1 Permit
<input type="radio" name="class" value="2" /> Class 2 Permit
<input type="radio" name="class" value="3" /> Class 3 Permit
</div>
<div id="optionshead2">Categories :</div>
<div id="catoptions">
<input type="checkbox" name="cat" value="1" /> CAT 2PG
<input type="checkbox" name="cat" value="2" /> CAT 1OR
<input type="checkbox" name="cat" value="3" /> CAT 2TT <br/><br/>
<input type="checkbox" name="cat" value="4" /> CAT 3PG
<input type="checkbox" name="cat" value="5" /> CAT 2OR
<input type="checkbox" name="cat" value="6" /> CAT 3TT <br/><br/>
<input type="checkbox" name="cat" value="7" /> CAT 4PG
<input type="checkbox" name="cat" value="8" /> CAT 3OR
</div>
<div class="applynext">
<input class="applynextbutton" type="submit" name="applynextbutton" value="PROCEED" />
</div>
</form>
</div>
用户选中后,系统将分离选择并将其存储在数据库中。
数据库架构: permit(PID,EID,PTYPE,STATUS,MID,HRID)
如果用户没有选择任何内容,系统会提醒他们并要求他们选择
如果用户选择2个以上的课程,系统会提醒他们只选择1个课程。
你们觉得怎么样? PHP能够让我完成这些意图吗?
P.S。:请告诉我如何在不使用太多&npsb;
的情况下制作空格。有没有办法将单选按钮更改为复选框并禁用多项选择?
伙计们......我有一个问题......我如何在php中从复选框中检索数据?任何例子? 我试过array []它但似乎无法工作..
答案 0 :(得分:1)
PHP没问题,它笑着做这个并且变得懒惰。但没有笑话:绝对没有问题。您可以根据需要使用尽可能多的if和else语句(在最长执行时间内,但不要让它比现有的更难)。
至于您的复选框问题,正如您现在所做的那样是正确的方法。但是,您可以使用javascript函数将标准复选框功能“破解”为无线电。有关相关信息,请参阅http://www.velocityreviews.com/forums/t80854-how-to-allow-only-one-checkbox-to-be-checked-in-a-group-of-checkboxes.html和/或Javascript and only one Checkbox - undefined。
您还可以让收音机看起来更好看,在这里查看有关该收音机的更多信息http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/您还可以添加一个标有'Nothing'标签的空收音机进行选择,然后选择一个标准。这将解决您的问题 - 许多道路通往罗马。 :)
至于最终的空间问题,请使用适当的化妆品。
<div style="width: 250px;">a button</div>
<div style="width: 250px; float: right;">a second button</div>
例如。您还可以使用较旧的表结构:
<table><tr><td width="250">a button</td><td width="250">a second button</td></tr></table>
其中table是表,tr是行,td是单元格。
答案 1 :(得分:1)
是的PHP会起作用。您可以通过$ _POST集合获取必要的数据,并与您用于存储它们的任何数据库进行通信。
对于间距,我建议learning CSS并避免添加大量不间断的空格。
就处理复选框值而言,您似乎希望允许用户选择与一个名称(class和cat)对应的多个值。正如您所拥有的那样,PHP将最终得到他们选择的最后一个值。您可以修改表单输入的名称,以使PHP将它们视为后端的数组。然后当你抓住$ _POST ['class']时,你会得到一个数组。
<input type="checkbox" name="class[]" value="1" /> First class
<input type="checkbox" name="class[]" value="2" /> Second class
如果用户检查了这两个,你会在PHP中看到这个
$classes = $_POST['class'];
// array(1, 2)
如果他们只选了一个,那么你在数组中只有一个元素。
如果数组中的键使得处理数据更容易,你甚至可以使它成为一个关联数组:
<input type="checkbox" name="class[first]" value="1" /> First class
<input type="checkbox" name="class[second]" value="2" /> Second class
和PHP
$classes = $_POST['class'];
// array('first'=>1, 'second'=>2)