2016-12-26 7 views
1

今、Node.jsを学習していますが、少し混乱しています。Node.jsを使用してMySQLのMysqlデータを印刷する

var mysql  = require('mysql'); 
var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'root', 
    password : '', 
    database : 'db' 
}); 

connection.connect(); 

connection.query('SELECT * FROM users', function(err, rows, fields) 
{ 
    if (err) throw err; 

    console.log(rows[0]); 

}); 

connection.end(); 

私のデバッグコンソールは、私のデータベーステーブルから最初の行を示しているが、私は私のHTMLページでこの値を印刷したいと思います:

私は、次のコードを使用してデータを受信して​​います。どうやってやるの?

ありがとうございます。

答えて

0

これらの結果をhtmlサイトに送信するには、creating an http serverを調べる必要があります。

var express = require('express'); 
var app = express(); 

app.use(express.static('public')) 

var mysql  = require('mysql'); 
var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'root', 
    password : '', 
    database : 'db' 
});   

app.get('/rows', function (req, res) { 
    connection.connect(); 

    connection.query('SELECT * FROM users', function(err, rows, fields) 
    { 
     connection.end(); 

     if (err) throw err; 

     res.json(rows); 

    }); 
}); 

app.listen(3000, function() { 
    console.log('Example app listening on port 3000!'); 
}); 

このファイルを実行すると、マシン上のポート3000にサーバーが作成されます。

プロジェクトでは、ルートレベルにpublicという名前のディレクトリを作成します。

<html> 
    <head> 
     <title>My db rows</title> 
    </head> 

    <body> 
     <div id="table"></div> 

     <script type="text/javascript"> 
      var opts = { 
       url: 'http://localhost:3000/rows/' 
      }; 

      fetch(opts) 
       .then((res) => { 
        if (res.ok) { 
         return res.json(); 
        } 
        }) 
        .then((rows) => { 
         for (let row of rows) { 
          // row will be a mysql row -- you can loop over these and do what you want with them 
         } 
        }) 
        .catch(console.log); 
     </script> 
    </body> 
</html> 

注:私は私の要求を実行するための新しいフェッチAPIを使用していますが、あなたは同じように簡単にjQueryやXHRを使用することができます。そこでは、ファイルは、次のようなものでindex.htmlと呼ばれることができますフェッチAPIは、より詳細にはhereで説明できます。

ブラウザでhttp://localhost:3000/index.htmlに移動して結果を確認します。

関連する問題