作为序言,我对NodeJ和MySQL完全陌生。
我有一个在Node上运行的网站,像这样表达
trans()
它已成功连接到服务器,并可以在命令提示符下打印出服务器值。
有没有办法将这些数据发送到我的网站,以便我可以使用客户端脚本的值?例如,我想在我的var express = require('express');
var app = express();
var path = require("path");
var mysql = require("mysql");
app.use(express.static('Script'));
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "password",
database: "blocks"
});
con.connect(function(err){
if(err) throw err;
console.log("connected!");
con.query("SELECT * FROM blockchain", function(err, result, fields){
if(err) throw err;
console.log(result);
});
});
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname + '/index.html'));
});
app.listen(8080);
文件中创建一个新的<p>
元素来表示数据库中的每个条目,从而改变我网站显示的信息。
因此,如果数据库为空,我的网站看起来是空的。如果数据库有三个条目,我的网站将有3个index.html
元素,对应于三个条目的输入。
答案 0 :(得分:-1)
轻松自如。首先我们打开数据库连接:
con.connect(function(err){
if(err) throw err;
console.log("connected!");
然后,如果建立了连接,我们就可以开始回复请求了:
app.get("/", (req, res) => {
现在,当请求进入时,我们从db获取最新数据:
con.query("SELECT * FROM blockchain", function(err, result, fields){
if(err) return res.end("sth went wrong :(");
res.end(result);
});
});
});
现在你只需要将数据传输到html中,因为我建议使用模板引擎。
答案 1 :(得分:-1)
从数据库查询数据时,它是异步操作。换句话说,拥有所有数据需要一些时间。 所以在你的情况下,最好使用一个承诺:
#pragma once
#include "vec3.h"
#include "vec4.h"
#include "maths_func.h"
namespace sparky { namespace maths {
struct mat4
{
union
{
float elements[4 * 4];
vec4 columns[4];
};
mat4();
mat4(float diagonal);
static mat4 identity();
mat4& multiply(const mat4& other);
friend mat4 operator*(mat4 left, const mat4& right);
mat4& operator*=(const mat4& other);
mat4& Invert();
static mat4 orthographic(float left, float right, float bottom, float top, float near, float far);
static mat4 perspective(float fov, float aspectRatio, float near, float far);
static mat4 translation(const vec3& translation);
static mat4 rotation(float angle, const vec3& axis);
static mat4 scale(const vec3& scale);
};
} }
在您的查询完成后执行.then之后的功能。现在,您可以使用for循环对查询进行排序。
mysql-promise:https://www.npmjs.com/package/promise-mysql