博客列表 >PHP表格生成器

PHP表格生成器

Pengsir
Pengsir原创
2018年04月16日 17:51:101639浏览

html代码:

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格生成器</title>
    <style>
            div{
                border: 1px solid lightslategrey;
                width: 800px;
                height: auto;
                text-align: center;
                margin: auto;
                background-color:lightgray;
            }
        button{
            margin-left: 40px;
            font-size: 1em;
            color: black;
            background-color: white;
            font-weight: bold;
        }
    </style>
</head>
<body>
<div>
    <h3>表格生成器</h3>
    <p>
        <label for="title">标    题</label>
        <input type="text" id="title" name="title">
    </p>
    <p>
        <label for="rows">输入行:</label>
        <input type="text" id="rows" name="rows" class="table">
    </p>
    <p>
        <label for="cols">输入列:</label>
        <input type="text" id="cols" name="cols" class="table">
    </p>
    <p>
        <button>生成表格</button><button>重置行列</button>
    </p>
</div>
</body>
<script src="../jquery/jquery-3.2.1.min.js"></script>
<script>
    /*
         这个 flag 理解一个开关,如果为 true 即关闭, 不提交表单,为 false 则提交表单,
        这样做的目的是,在前端页面对表单内容进行判定,若不合格的数据,就不提交,减少服务器不必要的负载。
     */
    var flag =true
        $('button:first').on('click',function () {
            //判断标题内容是否为空
            if($('#title').val().length==0){
                $('#title').after('<span style="color: red">标题不能为空</span>')
                setTimeout(function () {
                        $('#title').next().remove()
                },2000)
                $('#title').focus();
                //返回让用户重新操作
                return false
            }
            //遍历并验证用户输入的信息   each(对象索引,当前对象)这个方法是逐个取出$('.table')里的数据进行处理,做一个循环
            $('.table').each(function (index,obj) {
                    if($(obj).val().length==0){
                        $(obj).after('<span style="color: red">内容不能为空</span>')
                        setTimeout(function () {
                            $(obj).next().remove()
                        },2000)
                        //返回让用户重新操作
                        return false
                    }else if(isNaN($(obj).val())){
                        $(obj).after('<span style="color: red">内容必须为数字</span>')
                        setTimeout(function () {
                            $(obj).next().remove()
                        },2000)
                        //返回让用户重新操作
                        return false
                    }else if($(obj).val()<=0){
                        $(obj).after('<span style="color: red">数字必须大于0</span>')
                        setTimeout(function () {
                            $(obj).next().remove()
                        },2000)
                        //返回让用户重新操作
                        return false
                    }
            })
            //ajax处理用户请求
            if(flag == true){
                $.get(
                    'table.php',
                    {
                        rows:$('#rows').val(),
                        cols:$('#cols').val(),
                        title:$('#title').val()
                    },
                    function (msg) {
                        $('p:last').next().remove()
                        $('p:last').after(msg)
                        flag ==false
                    }
                )
            }
        })
    $('button:nth-child(2)').click(function () {
        //清空行,列,标题
        $('input[type="text"]').val('')
        //焦点放到标题框
        $('#title').focus()
        //删除表格
        $('p:last').next().remove()
        flag == false
    })
</script>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

PHP代码:

实例

<?php
if($_SERVER['REQUEST_METHOD'] =='GET'){
    if(!empty($_GET['rows']) && !empty($_GET['cols']) && !empty($_GET['title'])){
        $rows=$_GET['rows'];
        $cols=$_GET['cols'];
        $title=$_GET['title'];
            //表格
        $table='<table border="1" cellspacing="3" align="center" width="80">';
        //标题
        $table.="<caption><h2>$title</h2></caption>";
        //表格颜色,居中
        $table.='<tr align="center" bgcolor="#778899">';
        //列循环
        for($i=0;$i<$cols;$i++){
            $table.='<th>x</th>';
        }
        $table.='</tr>';

    //生成内容
        for($r=0;$r<$rows;$r++){
            $table.='<tr>';
            for($c=0;$c<$cols;$c++){
                $msg=$r*$cols+$c+1;
                $table.='<td align="center">'.$msg.'</td>';
            }
            $table.='</tr>';
        }
        $table.='</table>';
        echo $table;
        exit();
    }else{
        exit('<span style="color:red">请求错误,检查输入</span>');
    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行效果图:

PHP表格生成器.png

表格生成器.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议