【TP5】根据数据库字段注释使用同一模板进行增删查(2)

简介: 【TP5】根据数据库字段注释使用同一模板进行增删查

屏幕快照 2022-05-12 下午10.39.02.png

屏幕快照 2022-05-12 下午10.39.14.png


{include file="../../../application/admin/view/public/head" /}
        <?php foreach ($fields as $info):?>
        <?php
            $type = $info['Params']['edit'];
            $validateClass = "validate[required]";
        ?>
        <?php if ($info['Params']['edit'] == 'ignore'): ?>
            <?php continue; ?>
        <?php endif; ?>
        <?php if ($info['Params']['edit'] == 'hidden'): ?>
            <input name="<?php echo $info['Field'];?>" type="hidden" value="<?php echo htmlspecialchars($info['Value']); ?>" />
            <?php continue; ?>
        <?php endif; ?>
        <tr>
            <td>
            <?php if ($type == 'text'): ?>
                <div class="layui-form-item">
                    <label class="layui-form-label"><?php echo $info['DisplayName'];?></label>
                    <div class="layui-input-block">
                        <input id="id_<?php echo $info['Field'];?>" lay-verify="name" class="layui-input" name="<?php echo $info['Field'];?>" value="<?php echo $info['Value'] ?>">
                    </div>
                </div>
            <?php elseif ($type == 'bool'): ?>
                <label class="radio">
                    <input type="radio" name="<?php echo $info['Field'];?>" value="1" class="<?php echo $validateClass; ?>" <?php if ($info[Value] == 1) echo 'checked'; ?>>
                </label>
                <label class="radio">
                    <input type="radio" name="<?php echo $info['Field'];?>" value="2" class="<?php echo $validateClass; ?>" <?php if ($info[Value] == 2) echo 'checked'; ?>>
                </label>
            <?php elseif ($type == 'radio'): ?>
                <?php $items = explode(",", $info['Params']['items']); ?>
                <?php foreach ($items as $value): ?>
                <?php
                $parts = explode('#', $value, 2);
                $displayText = $parts[0];
                if (count($parts) == 2) {
                    $displayValue = $parts[1];
                } else {
                    $displayValue = $parts[0];
                }
                ?>
                <label class="radio">
                    <input type="radio" name="<?php echo $info['Field'];?>" value="<?php echo $displayValue; ?>" class="<?php echo $validateClass; ?>" <?php if ($displayValue == $info['Value']) echo 'checked'; ?>>
                    <?php echo $displayText; ?>
                </label>
                <?php endforeach; ?>
            <?php elseif ($type == 'checkbox'): ?>
                <?php
                $items = explode(",", $info['Params']['items']);
                $currentItems = explode(' ', $info['Value']);
                ?>
                <?php foreach ($items as $value): ?>
                <?php
                $parts = explode('#', $value, 2);
                $displayText = $parts[0];
                if (count($parts) == 2) {
                    $displayValue = $parts[1];
                } else {
                    $displayValue = $parts[0];
                }
                ?>
                <label class="checkbox">
                    <input type="checkbox" name="<?php echo $info['Field'];?>[]" value="<?php echo $displayValue;?>" class="<?php echo $validateClass; ?>" <?php if (in_array($value, $currentItems)) echo 'checked'; ?>> <?php echo $displayText;?>
                </label>
                <?php endforeach; ?>
            <?php elseif ($type == 'textarea'): ?>
                <textarea name="<?php echo $info['Field'];?>" rows="10" cols="100" class="input-xxlarge <?php echo $validateClass; ?>"><?php echo htmlspecialchars($info['Value']); ?></textarea>
            <?php elseif ($type == 'textarea_markdown'): ?>
            <textarea name="<?php echo $info['Field'];?>" rows="20" cols="100" data-provide="markdown" id='markdownArea'  class="input-xxlarge md-input <?php echo $validateClass; ?>"><?php echo htmlspecialchars($info['Value']); ?></textarea>
            <br /><a href='http://wowubuntu.com/markdown/' target='_blank'>Markdown 语法说明</a>
            <?php elseif ($type == 'textarea_html'): ?>
                <textarea name="<?php echo $info['Field'];?>" rows="20" cols="100" class="input-xxlarge <?php echo $validateClass; ?>"><?php echo htmlspecialchars($info['Value']); ?></textarea>
            <?php elseif ($type == 'label'): ?>
                <?php echo htmlspecialchars($info['Value']);?>
            <?php elseif ($type == 'datetime'): ?>
                <input name="<?php echo $info['Field'];?>" class="input-xxlarge <?php echo $validateClass; ?>" value="<?php echo $info['Value']; ?>" />
            <?php elseif ($type == 'image_upload'): ?>
                <img src="<?php echo '/image/view/' . $info['Params']['storage'] . '/' . $info['Value'] . '/small'; ?>" data-src="holder.js/200x200" alt="" style="max-height:200px;" />
                <input name="<?php echo $info['Field'];?>" type="file" />
            <?php elseif ($type == 'file_upload'): ?>
                <input name="<?php echo $info['Field'];?>" type="file" />
            <?php else: ?>
                <textarea name="<?php echo $info['Field'];?>" rows="10" cols="100" class="input-xxlarge <?php echo $validateClass; ?>"><?php echo htmlspecialchars($info['Value']); ?></textarea>
            <?php endif; ?>
            </td>
        </tr>
        <?php endforeach;?>

屏幕快照 2022-05-12 下午10.39.23.png

相关文章
|
4月前
|
关系型数据库 MySQL 数据库
往数据库的字段varchar 或datetime里存时间值
往数据库的字段varchar 或datetime里存时间值
118 0
|
27天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
1天前
|
分布式计算 关系型数据库 大数据
MaxCompute产品使用合集之怎么才可以将 PostgreSQL 中的 geometry 空间类型字段同步到 MaxCompute 或另一个 PostgreSQL 数据库
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
11天前
|
SQL 关系型数据库 MySQL
mysql 数据库查询 查询字段用逗号隔开 关联另一个表并显示
mysql 数据库查询 查询字段用逗号隔开 关联另一个表并显示
19 2
|
20天前
|
小程序 数据库
【微信小程序7】云数据库:利用Field获取指定字段的值。
【微信小程序7】云数据库:利用Field获取指定字段的值。
26 2
|
20天前
|
小程序 前端开发 数据库
【微信小程序2】云数据库:利用addField在返回记录中增加新字段
【微信小程序2】云数据库:利用addField在返回记录中增加新字段
27 4
|
29天前
|
数据库
MybatisPlus属性字段为数据库关键字
MybatisPlus属性字段为数据库关键字
14 0
|
2月前
|
SQL 关系型数据库 MySQL
Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中
Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中
10 0
|
3月前
|
SQL 数据库管理
sqlite语句order by两个字段同时排序处理
sqlite语句order by两个字段同时排序处理
21 0
|
4月前
|
SQL 关系型数据库 MySQL
数据库字段基本类型
数据库字段基本类型
56 0