Heim  >  Artikel  >  Backend-Entwicklung  >  php一种不增加字段的自定义表单实现_PHP教程

php一种不增加字段的自定义表单实现_PHP教程

WBOY
WBOYOriginal
2016-07-13 17:54:351589Durchsuche

很多开源的程序系统都有自定义表单功能,比如织梦和帝国;他们的自定义表单是创建了一个新的表,这是一种实现方式,但是有的时候我们可能需要一些附属的内容,或并不需要建多个表,只希望通过一个字段来存放我们附加的这些内容,这时候我们就可以通过下面这种实现方式来实现。

先看一下实现效果:

 php一种不增加字段的自定义表单实现_PHP教程

我们可以设置他的提示文字,字段,类型,默认值,参数,排序,是否在列表显示。当然我们还可以增加一些类似的展现方式,是否加亮等等。其类型有文本、下拉,单选,复选,多行文本等类型。看一下表结构:

 php一种不增加字段的自定义表单实现_PHP教程

Id不用说了,name就是表单提示文字,也就是比如姓名,性别等,qian和ziduan 是结合用的,为了就是好区分,用一个前缀和字段来组成自定义的字段标签,比较容易区分,type就是类型,value就是默认值,whcs就是参数,这个参数是默认在其类型是文本或多行文本才起作用,文本时第一个参数限制最大字节数,第二个限制长度。Role就是排序,yesno就是是否在前台显示。

 php一种不增加字段的自定义表单实现_PHP教程

代码就不用细说了吧,在设置这个自定义表单的时候比较简单,就是遍历一下,根据其type组合。

 php一种不增加字段的自定义表单实现_PHP教程

我给大家看一下这个地方的代码。

 

[php] view plaincopyprint? //获取参数配置信息 
$system = $this->tmp_mod->getAllSystem(); 
if($system){ 
foreach($system as $key=>$val){ 
if($val['name']&&$val['ziduan']){ 
$zhu = ''; 
if($val['value']){ 
$value = @explode(',',$val['value']); 

if($val['whcs']){ 
$whcs = @explode('$',$val['whcs']); 

if(2==$val['type']){ 
$zhu = ''; 
}elseif(3==$val['type']){ 
foreach($value as $k=>$v){ 
$check=''; 
if('0'==$k){ 
$check = 'checked'; 

$zhu .=''.$v; 

}elseif(4==$val['type']){ 
 
foreach($value as $m=>$n){ 
$zhu .=''.$n; 


 
$biao[$key]['name'] = $val['name']; 
switch ($val['type']){ 
case '1':$biao[$key]['value']=' maxlength="'.$whcs[0].'" style="width:'.$whcs[1].'px" value="'.$val['value'].'" />';break; 
case '2':$biao[$key]['value']=$zhu;break; 
case '3':$biao[$key]['value']=$zhu;break; 
case '4':$biao[$key]['value']=$zhu;break; 
case 5:$biao[$key]['value']='';break; 
default:; 



 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477940.htmlTechArticle很多开源的程序系统都有自定义表单功能,比如织梦和帝国;他们的自定义表单是创建了一个新的表,这是一种实现方式,但是有的时候我...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn