多变php服务中心

当前位置: 首页>站长学院>开发小记> PHP自动生成mysql添加字段语句

PHP自动生成mysql添加字段语句

来源:多变php服务中心 发布时间:2020-01-07关注度:109 ℃

最近在开万能表单系统,特别搞了这么个函数,异常强大,覆盖了常见字段类型,有需要的拿去用吧。

最终效果:



附:具体代码


/**
 * 获得字段创建信息
 * @param     string  $type         字段类型
 * @param     string  $add_name     字段名称
 * @param     string  $field_name   字段描述
 * @param     string  $default      默认值
 * @param     string  $field_height 最大字符长度
 * @param     string  $data_table   数据表名
 * @return    string  $sql_line     SQL语句
 */
function get_makefield($type, $add_name, $default, $field_height, $field_name, $data_table)
{
    if($type == "int" || $type == "datetime")
    {
        if($default == "" || preg_match("#[^0-9-]#", $default))
        {
            $default = 0;
        }
$fields = "ALTER TABLE $data_table ADD `$add_name` int(11) NOT NULL default '$default' COMMENT '$field_name';";
    }
    else if($type == "stepselect")
    {
        if($default == "" || preg_match("#[^0-9\.-]#", $default))
        {
            $default = 0;
        }
$fields = "ALTER TABLE $data_table ADD `$add_name` char(20) NOT NULL default COMMENT '$field_name';";
    }
    else if($type == "float")
    {
        if($default == "" || preg_match("#[^0-9\.-]#", $default))
        {
            $default = 0;
        }
$fields = "ALTER TABLE $data_table ADD `$add_name` float NOT NULL default '$default' COMMENT '$field_name';";
    }
    else if($type == "img" || $type == "media" || $type == "addon" || $type == "imgfile")
    {
        if(empty($default)) $default = '';
        if($field_height=="") $field_height = 200;
        if($field_height > 255) $field_height = 100;

$fields = "ALTER TABLE $data_table ADD `$add_name` varchar($field_height) NOT NULL default '$default' COMMENT '$field_name';";
    }
    else if($type == "multitext" || $type == "htmltext")
    {
$fields[0] = "ALTER TABLE $data_table ADD `$add_name` mediumtext;";
    }
    else if($type=="textdata")
    {
        if(empty($default)) $default = '';

$fields = "ALTER TABLE $data_table ADD `$add_name` varchar(100) NOT NULL default '' COMMENT '$field_name';";
    }
    else if($type=="textchar")
    {
        if(empty($default)) $default = '';
        
$fields = "ALTER TABLE $data_table ADD `$add_name` char(100) NOT NULL default '$default' COMMENT '$field_name';";
    }
    else if($type=="checkbox")
    {
        $default = str_replace(',',"','",$default);
        $default = "'".$default."'";
$fields = "ALTER TABLE $data_table ADD `$add_name` SET($default) NULL COMMENT '$field_name';";
    }
    else if($type=="select" || $type=="radio")
    {
        $default = str_replace(',', "','", $default);
        $default = "'".$default."'";
$fields = "ALTER TABLE $data_table ADD `$add_name` enum($default) NULL COMMENT '$field_name';";
    }
    else
    {
        if(empty($default))
        {
            $default = '';
        }
        if(empty($field_height))
        {
            $field_height = 255;
        }
        if($field_height > 255)
        {
            $field_height = 255;
        }
$fields = "ALTER TABLE $data_table ADD $add_name varchar($field_height) NOT NULL default '$default' COMMENT '$field_name';";
    }
    return $fields;
}


本文地址:https://www.phpicu.com/article.php?id=66

    责任编辑:多变php服务中心

    相关阅读