在PHP中,在数据库2中保存复选框数据
通过这种方式,动态创建一个表单以生成带有固定HTML代码的技能复选框的好处在哪里好吧,也许我们让求职者选择一个项目,在我们的桌子const_skills不可用,如DHTML,这样我们就可以把它插入到表const_skills。然后,当求职者访问我们的网站,我们会发现更多的DHTML选项。这一切并不需要调整到HTML文件。
插入lookup_skills
现在,我们已经创造了这个形式,我们需要保存用户选择的技能。在make_checkbox_html函数,我们称之为每个选择元素技能{ },这意味着我们可以访问数组元素的形式,每一个选择。这样,我们可以将这个选择到表lookup_skill.if用户选择5选项,我们插入5条记录,在lookup_skill.remember表lookup_skills,只有两个领域的用户ID和技能ID为每个记录。在我的示例站点,用户可以登记,然后创建/编辑配置文件。您可能需要使用session保存用户,当他们登录。但如何管理用户超出了本文的范围。
下面的代码中,我们假设我们可以访问的变量名称UID用户名,和下面是函数代码插入记录:
我们要插入的函数。{ * }
元技能论证是技能数组。
当用户点击提交按钮时被发送到脚本。
* /
功能insert_skills($ UID,$技能){
我们将删除这个用户已经拥有的任何条目
桌子上的。
purge_lookup(lookup_skills
现在创建SQL插入查询
查询= create_checkbox_query美元(美元的能力,lookup_skills
执行查询
mysql_query($查询);
}
辅助功能(insert_skills) / *。
删除表中的所有行美元美元的UID。
功能purge_lookup(合表,$ UID){
美元从$表删除Q = ,其中UID = $ UID;
mysql_query($ Q);
}
辅助功能(insert_skills) / *。
产生实际的SQL查询。
功能create_checkbox_query(ARR美元美元美元,桌子,UID){
$ Q =插入表美元(UID,skill_id)价值;
foreach(ARR美元美元支票){
$ Q =($ UID,$检查)
}
删除最后一个逗号并返回
返回substr($ Q,0,1);
}
>
这很简单,你现在知道了如何动态创建表从表const_skill创造形式,以及如何保存用户选择的技能表lookup_skills.what是我们下一步要做什么让我们来看看搜索
搜索
当雇主是Web开发人员,他来到你的搜索页面,你可以显示相同的形式,让他选择他希望员工具备的技能。你拿起技能的阵列,他选择了,那么你可以通过这个数组,找出求职者谁拥有这个技能一个SQL语句,你可以显示该列表或结果,并允许用户对点项目显示其详细信息。下面的函数描述如何创建这个查询语句:
构建查询以搜索/技能
在技能数组中进行检查。
功能skill_search($技能){
如果(!空($技能){
美元=选择不同的user.username查询
从用户、const_skills,lookup_skills
在lookup_skills.uid = User.ID
和lookup_skills.skill_id = const_skills ID;
$查询和();
foreach($技能美元支票){
为查询=const_skills.id $检查=或;
}
删除最终结果或
为查询= substr($查询,0 - 2);
为查询。;
计数= $(技能);
查询=美元集团user.username具有计数(用户的用户名)= $计数;
$;
返回$查询;
}
}
>
如果执行搜索PHP和Javascript,则此函数返回语句:
选择不同的user.username用户,const_skills lookup_skills,哪里lookup_skills.uid = User.ID和lookup_skills.skill_id = const_skills.id和(const_skills.id = 3或const_skills.id = 5)的user.username具有计数组(用户的用户名)> = 2;
此函数将返回所选项目的逻辑。也就是说,如果我们选择了两个PHP和Javascript项目,那么它将同时返回PHP和Javascript两种技能的用户名。如果希望显示相同的记录,可以删除最后一个组由…子句。
总结
嗯,就是这样。复选框是一个优秀的表单元素,在这篇文章里。我希望这将有助于你与他们一起工作,创建一个数据驱动的Web站点。