⑴ 怎么取出web sql database中的数据 并放在input框中
取出web sql database中的数据并放在input框中的方法是用字段对应映射法。
1. 建立数据访问对象文件
在db目录中新建db.js,其中代码如下:
var mysql = require('mysql');
var options = {
host: 'localhost',
user: 'lupeng',
password: '080910',
database: 'myapp'
}
exports.createConn = function (){
var client = mysql.createConnection(options);
return client;
}
exports.getUsers = function (client,callback){
var selectstatement = 'select * from user';
client.query(selectstatement, function(errs,rows,fields){
if (errs){
callback(errs);
}
if (rows){
console.log(rows);
callback(rows);
}
});
}
上述代码简单实现了两个方法,一个是获取数据库对象createConn,一个是获取用户的方法getUsers。注意得到数据库数据后,作为参数赋予回调函数callback。
2. 编辑路由方法
当访问到某个路径的时候,查询数据库,并返回结果,最终通过res对象将内容发送到客户端上。app.js中编写路由方法如下:
var db = require('../db.js');
// ... 省略
app.get('/',function(req,res){
var client = db.createConn();
db.getUsers(client,function(results){
if(results){
res.render('index',{results: results});
}
});
});
首先调用createConn方法获取数据库对象client,然后调用getUsers方法取得数据,实现回调函数,将数据回传回来,最后通过res对象发送至前台页面。
3. view模版设置
res对象渲染index页面,最终显示在前端。这里使用的是jade模版引擎,下面看看index.jade示例代码:
doctype html
html
head
title= title
link(href='/bootstrap.min.css',rel='stylesheet')
body
.container
.row
h1 读取用户数据库
small Mysql
.table-responsive
table.table
thead
tr
th ID
th 用户名
th 密码
tbody
each item in results
tr
td= item.id
td= item.username
td= item.password
前台显示如下图,一个打印了数据库数据的简单页面。