• 使用数据库实现web留言板


     火狐和ie是不支持的

    html5本地数据库(web sql Darabase)核心方法 openDatabase   transaction  executeSql小解:

    1 openDatabase 能使用现有数据库或创建新数据库创建数据库对象。

    2 transaction  能访问数据库

    3 executeSql 执行SQl查询 (例如获取数据,将传进来的数据保存在数据库中)

    <body onload="init();">
    <table>
        <tr>
            <td>姓名</td>
            <td><input type="text" id="name"/></td>
        </tr>
        <tr>
            <td>留言</td>
            <td><input type="text" id="memo"/></td>
        </tr>
        <tr>
           <td> <input type="button" value="保存" onclick="saveData();"/></td>
        </tr>
    </table>
    <hr/>
    <table id="datatable" border="1">
    
    </table>
    <p id="msg">
    
    </p>
    <script>
        var datatable =null;
        var db=openDatabase('MyData' , '','My Database',102400); 
        if (!db) {
            console.log("数据库创建失败!");
        } else {
            console.log("数据库创建成功!");
        }
        function init(){
    
            datatable = document.getElementById("datatable");
            showAllData();
        }
        /*
         //removeChild() 方法指定元素的某个指定的子节点。
         // 以 Node 对象返回被删除的节点,如果节点不存在则返回 null。
        <ul id="myList"><li>Coffee</li><li>Tea</li><li>Milk</li></ul>
         <button onclick="myFunction()">删除</button>
         function myFunction()
         {
         var list=document.getElementById("myList");
         for(var i=list.childNodes.length-1;i>=0;i--){
         list.removeChild(list.childNodes[i]);
         }
    
        }*/
        function removeAllData(){
            //这就是用来删除项目用的
            for(var i= datatable.childNodes.length-1;i>=0;i--){
                datatable.removeChild(datatable.childNodes[i]);//i是从0开始
            }
    
            var tr =  document.createElement('tr');
            var th1 = document.createElement('th');
            var th2 = document.createElement('th');
            var th3 = document.createElement('th');
            th1.innerHTML ='姓名';
            th2.innerHTML ='留言';
            th3.innerHTML ='时间';
            tr.appendChild(th1);
            tr.appendChild(th2);
            tr.appendChild(th3);
            datatable.appendChild(tr);
        }
        function showData(row){
            var tr = document.createElement('tr');
            var td1 = document.createElement('td');
            td1.innerHTML = row.name;
            var td2 = document.createElement('td');
            td2.innerHTML = row.message;
            var td3 = document.createElement('td');
            var t = new Date();
            t.setTime(row.time);
            td3.innerHTML= t.toLocaleDateString() +"" + t.toLocaleTimeString();
            tr.appendChild(td1);
            tr.appendChild(td2);
            tr.appendChild(td3);
            datatable.appendChild(tr);
        }
        function showAllData(){
            db.transaction(function(tx){
                //debugger;
                tx.executeSql('CREATE TABLE IF NOT EXISTS MsgData(name TEXT,message TEXT, time INTEGER)',[],
                        function(tx,rs){ console.log('创建MsgData表成功'); },
                        function(tx, error){ console.log('创建MsgData表失败:' + error.message);
                        }
                );//在数据库中创建一个数据表
                tx.executeSql("SELECT * from MsgData",[],function(tx,rs){
                    //debugger;//从MagData数据表中获取全部数据,成功之后获取回调函数
                    //console.log(rs.rows.length);
                    removeAllData();
                    for(var i =0;i<rs.rows.length;i++){//rs.rows是获取的所有行
                        showData(rs.rows.item(i));
                    }
                })
            })
        }
        function addData(name,message,time){
            db.transaction(function(tx){//这是访问数据库的transaction方法
                tx.executeSql('INSERT INTO MsgData VALUES(?,?,?)',[name,message,time],function(tx,rs){//成功时执行的回调函数。返回两个参数:tx和执行的结果。
                    console.log("ok");
                },function(tx,error){
                    console.log("查询失败"+"::"+error.message+"2")
    
                })
            })
        }
        function saveData(){
            var name=document.getElementById('name').value;
            var memo=document.getElementById('memo').value;
            var time = new Date().getTime();
            addData(name,memo,time);
            showAllData();
        }
    
    
    </script>
  • 相关阅读:
    sqlserver 自学笔记 函数实训 学分学期转换函数的设计
    jquery dom操作
    jquery clone方法
    Go开发常见陷阱
    Go 语言从新手到大神:每个人都会踩的五十个坑(转)
    Go文件操作大全
    linux下安装go
    Go 学习笔记
    分布式系统设计系列 -- 基本原理及高可用策略 (转)
    安装Redis图形监控工具---RedisLive
  • 原文地址:https://www.cnblogs.com/jin-000/p/6802667.html
Copyright © 2020-2023  润新知