⑴ 怎麼取出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
前台顯示如下圖,一個列印了資料庫數據的簡單頁面。