




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——PHP中在数据库中保存Checkbox数据PHP中在数据库中保存Checkbox数据
checkbox是一个分外有用的页面表单项,在让用户举行多重选择的处境下,它甚至可以允许用户选择全部工程或是一个都不选。但是,尽管这是一个分外优秀的表单元素,但在我们的工作中,在如何正确地保存选择项这方面总存在一些易混淆的处境发生。本文将描述在遵循好的数据库设计原那么的方法下,如何把checkbox选择项正确地保存在数据库中。
要求
本文将阐述如何把选择项正确地保存在用户数据库中的方法。尽管这里包括了有用的PHP代码,但我将从数据库设计的观点来表达它们,所以,你可以很便当地使用任何一个数据库和服务器端脚本语言来实现。我只是想供给一个如何做的方法,让你能应用于你自己的站点中。假设你想运行这里的源码,你需要安装php、mysql和网络服务器。
例1:雇用站点
假使你被要求做一个雇用类的网站,允许求职的软件开发人员填写他们的技能,让雇主能访问这个站点并根据求职者的技能找到适合的员工。你也知道,一个开发人员拥有的技能会多于一个,因此你抉择这样设计你的站点。
每一个求职者将允许访问本站,注册一个用户,并且输入他的技能,Checkbox就派上用场了,你可能想作这样的一页:
__PHP__MySQL__Zope
__Perl__Javascript__JSP
[提交]
每一个求职都可以选择他所拥有的技能。鲜明对于不同人来说这选择项是不同的。一个人可能会是PHP和Mysql,其它人可能只是JSP。你将如何保存这些选择呢?一个很自然的想法是针对每个选项建一个字段,这样开头可以正常工作。但是随后你可能会察觉,当你想扩展或调整时,麻烦就来了,你可能不得不修改你的表布局。
好的方法应是这样的:
你应有一个用户表包含用户的注册信息,如用户名、密码和其它一些你需要的什么内容。假使你直接使用本文后面给出的源码,你要建一个简朴的表如下:
idusername
1User1
2User2
3User3
我们先建一个表const_skills用如下的SQL语句:
SQLCREATETABLEconst_skills
idintnotnullprimarykey,
valuevarchar20;
现在我们参与技能:
SQLINSERTINTOconst_skillsid,valueVALUES1,PHP;
SQLINSERTINTOconst_skillsid,valueVALUES2,MySQL;
SQLINSERTINTOconst_skillsid,valueVALUES3,Zope;
SQLINSERTINTOconst_skillsid,valueVALUES4,Perl;
SQLINSERTINTOconst_skillsid,valueVALUES5,Javascript;
SQLINSERTINTOconst_skillsid,valueVALUES6,JSP;
你的.const_skills现在应是这样的:
idvalue
1PHP
2MySQL
3Zope
4Perl
5Javascript
6JSP
这个表只是让用户可以选择相应的技能,现在,再建一个表lookup_skills用如下的SQL:
SQLCREATETABLElookup_skills
idintnotnullauto_incrementprimarykey,
uidint,
skill_idint;
这个表lookup_skills的目的是供给从用户表到开发技能表之间的一个映射关系。换句话说,它让我们保存开发者和他们有的技能,如,当求职者完成选择点击提交时,我们将填写这个表用checkbox中被选定的那些值。对于每一个选上的技能,我们在这个表中加一条记录,记录用户id及所选项的id。(想必大家都领会了吧。我译到这,嘿嘿)
在我们看这个插入记录的代码之前,我们先设计一下这个页面,应有的内容有一个表单,我们可以查询的数据库并且取checkbox标签从const_skills表中,建这个checkbox表单项。
代码如下:
?php
/*insertcodetoconnecttoyourdatabasehere*/
/*getthecheckboxlabels*/
$skills=get_checkbox_labelsconst_skills;
/*createthehtmlcodeforaformattedsetof
checkboxes*/
$html_skills=make_checkbox_html$skills,3,400,skills[];
?
html
PHP中在数据库中保存Checkbox数据
body
br
formname=skillsmethod=POSTaction=insertskills.php
Checkoffyourwebdevelopmentskills:
?echo$html_skills;?
br
inputtype=submitvalue=Submit
/form
/body
/html
?php
functionget_checkbox_labels$table_name
/*makeanarray*/
$arr=array;
/*constructthequery*/
$query=SELECT*FROM$table_name;
/*executethequery*/
$qid=mysql_query$query;
/*eachrowintheresultsetwillbepackagedas
anobjectandputinanarray*/
while$row=mysql_fetch_object$qid
array_push$arr,$row;
return$arr;
/*Printsanicelyformattedtableofcheckboxchoices.
$arrisanarrayofobjectsthatcontainthechoices
$numisthenumberofelementswidewedisplayinthetable
$widthisthevalueofthewidthparametertothetabletag
$nameisthenameofthecheckboxarray
$checkedisanarrayofelementnamesthatshouldbechecked
*/
functionmake_checkbox_html$arr,$num,$width,$name,$checked
/*createstringtoholdouthtml*/
$str=;
/*makeit*/
$str.=tablewidth=$widthborder=0n;
$str.=trn;
/*determineifwewillhavetocloseadd
aclosingtrtagattheendofourtable*/
ifcount$arr%$num!=0
$closingTR=true;
$i=1;
ifisset$checked
PHP中在数据库中保存Checkbox数据
/*ifwepassedinanarrayofthecheckboxeswewant
tobedisplayedaschecked*/
foreach$arras$ele
$str.=tdinputtype=checkboxname=$namevalue=$ele-id;
foreach$checkedas$entry
if$entry==$ele-value
$str.=checked;
continue;
$str.=;
$str.=$ele-value;
if$i%$num==0
$str.=/trntr;
else
$str.=/tdn;
$i++;
else
/*wejustwanttoprintthecheckboxes.nonewillhavechecks*/
foreach$arras$ele
$str.=tdinputtype=checkboxname=$namevalue=$ele-id;
$str.=$ele-value;
if$i%$num==0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 印刷帮消防火灾应急预案(3篇)
- 技术员信息处理考试的试题与答案的复盘
- 2025年网络全景知识试题及答案
- 网络管理员考试重点话题试题及答案
- 2025详解合同购买合同应当关注的法律问题
- 项目沟通与协调技巧试题及答案
- 增强自我反思能力的修炼计划
- VB语法基础试题及答案解析
- 行政管理考试的复习计划及试题及答案
- 2025软考网络优化策略试题及答案
- 山东省济南市2025届高三三模生物试卷(含答案)
- 火力发电厂安全培训课件
- 宁波水产笔试题目及答案
- 中学金融知识讲座课件
- 2025凉山州继续教育公需科目满分答案-数字时代的心理健康
- 浙江百顺服装有限公司年产100万套服装及135万套床上用品生产线项目环境影响报告
- 玻璃维修安装合同协议
- 2024年中石油招聘考试真题
- 《抽水蓄能电站枢纽布置格局比选专题报告编制规程 》征求意见稿
- 校园景观园林绿化植物配置设计
- 2024船用电气电子产品型式认可试验指南
评论
0/150
提交评论