2016-01-15 7 views
5

Zunächst möchte ich darauf hinweisen, dass ich Node.JS sehr neu bin. Ich versuche mit NodeJS eine Seite zu erstellen, die mehrere Tabellen und Informationen enthält. Mein Problem ist, dass ich das Ergebnis der SQL-Abfrage nicht in eine HTML-Tabelle bekommen kann. Derzeit bin ich .send die Daten in eine HTML-Seite mit Express.Anzeigen eines JSON-Datasets als Tabelle mit Node.js und Express

-Code, die ich benutze:

var http = require('http'); 
    http.createServer(function(req, res) {}); 
     var mysql = require("mysql"); 
     var express = require('express'); 
     var app = express(); 
     console.log('Creating the http server'); 
     con.query('SELECT id ,name FROM customer', function(err, rows, fields) 
    { 
     console.log('Connection result error '+err); 
     console.log('num of records is '+rows.length); 

     app.get('/', function (req, res) { 
      res.send(rows); 
     }); 

    }); 

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

Dies druckt alle Daten aus meiner SQL-Anweisung auf meine HTML-Seite:

{"id":"1","name":"Robert"} 
{"id":"2","name":"John"} 
{"id":"3","name":"Jack"} 
{"id":"4","name":"Will"} 

was Ich mag würde als Ergebnis haben, ist:

id    Name 
1    Robert 
2    John 
3    Jack 
4    Will 
..etc 

Ist dies sogar in Node JS möglich?

+0

Ich versuche, eine zu schaffen Entschuldigung für die falschen Vorschläge –

+0

Sie versuchen also, das Resultset in einer Tabelle in HTML anzuzeigen (Erstellen einer Tabelle ist, in Datenbank Begriffen, eine andere Sache) – leroydev

+0

Ich möchte eine Tabelle in meine HTML-Seite erstellen nicht in meiner Datenbank –

Antwort

2

Ich würde Ihnen empfehlen, Blick auf Jade. Es ist eine Template-Engine für den Knoten js, die zum Erstellen von HTML-Seiten verwendet werden kann. Es ist einfach zu bedienen und sehr flexibel.

Ein gutes Tutorial gefunden here. Es zeigt dir, wie man eine einfache Webseite mit Node, Express und Jade erstellt und ist meiner Meinung nach ein guter Ausgangspunkt.

Um Ihr Problem mit Jade zu lösen, gibt es mehrere Antworten in stackoverflow wie here.

+0

Vielen Dank für den Tipp Ich sah Jade an und schaffte es, eine Vorlage zusammen zu bekommen, aber ich weiß immer noch nicht, wie man eine Tabelle auf meiner Seite bekommt. Wo lege ich den Code für den Tisch? (Layout oder Index) –

+0

Wenn sich Ihre Frage auf das von mir empfohlene Tutorial bezieht, würde ich den Code in den Index setzen (aber das spielt keine Rolle). Später erklärt das Tutorial im app.get (...) Teil, dass res.render (...) verwendet wird, um Ihr Layout auf der Client-Seite anzuzeigen. Das Tutorial ist wirklich gut, also gehen Sie einfach Schritt für Schritt und stellen Sie sicher, dass Sie eine Vorstellung davon haben, was los ist. Jade kann zunächst verwirrend sein, aber spiel einfach ein bisschen herum und schau was passiert – Urknecht

3

Ähnlich wie Jade konnte man Embedded JS

<table> 
    <tr> 
    <th>id</th><th>Name</th> 
    </tr> 

    <% for (var i = 0; i < data.length; i++) { %> 
    <tr> 
     <td><%= data[i].id %></td> 
     <td><%= data[i].name %></td> 
    </tr>  
    <% } %> 
</table> 

verwenden diese durch eine Reihe von Objekten iterieren würde (was ich als data gespeichert haben und eine Tabelle bevölkern auf dieser Grundlage.