【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

相关文章
|
2月前
|
前端开发 JavaScript 数据库
获取数据库中字段的数据作为下拉框选项
获取数据库中字段的数据作为下拉框选项
66 5
|
4月前
|
缓存 数据库 数据安全/隐私保护
Discuz! X 数据库字典详解:DZ各数据表作用及字段含义
我们使用DISCUZ做网站时,有时需要对数据表进行操作,在操作数据表之前,需要对数据表进行了解。下面是DISCUZ 数据库各数据表作用及字段含义详解,方便新手更好的了解DISCUZ数据库。
97 4
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库中给表添加字段并设置备注的脚本编写
通过上述步骤,你可以在MySQL数据库中给表成功添加新字段并为其设置备注。这样的操作对于保持数据库结构的清晰和最新非常重要,同时也帮助团队成员理解数据模型的变化和字段的具体含义。在实际操作中,记得调整脚本以适应具体的数据库和表名称,以及字段的详细规范。
134 8
|
5月前
|
JSON 数据库 数据格式
数据库表如果有json字段,该怎么更新
数据库表如果有json字段,该怎么更新
|
6月前
|
数据库
实体类的字段和数据库中的字段不一致、并且没有做中间替换、会发生什么
这篇文章讨论了实体类字段与数据库字段不一致时可能导致的问题,作者通过实际案例展示了字段不匹配时查询无法正确执行,并说明了修正字段匹配后查询可以成功执行的情况。
实体类的字段和数据库中的字段不一致、并且没有做中间替换、会发生什么
|
6月前
|
存储 开发框架 .NET
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
|
8月前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(4)-SQL性能分析-profile详情、explain(profile查看指令,explain执行计划中各个字段的含义)
MySQL数据库——索引(4)-SQL性能分析-profile详情、explain(profile查看指令,explain执行计划中各个字段的含义)
99 2
|
9月前
|
监控 关系型数据库 数据库
关系型数据库识别常查询字段
【5月更文挑战第20天】
67 4
|
7月前
|
数据库
MybatisPlus3---常用注解,驼峰转下滑线作为表明 cteateTime 数据表中的 cteate_time,@TableField,与数据库字段冲突要使用转义字符“`order`“,is
MybatisPlus3---常用注解,驼峰转下滑线作为表明 cteateTime 数据表中的 cteate_time,@TableField,与数据库字段冲突要使用转义字符“`order`“,is
|
9月前
|
监控 关系型数据库 数据库

热门文章

最新文章