Feliks Bekeshov
Feliks Bekeshov

Reputation: 115

I want to display data in the result.ejs: What should i do

Here is my db.js:

const { Pool, Client } = require('pg');
const pool = new Pool({
        user: "postgres",
        host: "localhost",
        database: "myfirst_postgres",
        password: "qweqwe",
        port: 5432
    });
// ...
pool.query("SELECT * FROM members ",
    (err, res) => {
    console.log(err, res)
    pool.end()
});

I want to require it in result.ejs I wrote in result.ejs file like : <%= require ('/db.js')=%> but after what should i write Thanks in advance!

Upvotes: 1

Views: 727

Answers (1)

eol
eol

Reputation: 24565

You can pass the results from your db-query to the ejs-template. Something like this (assuming you are using express):

Request-Handler:

app.get('/get-data', (req, res) => {
  pool.query('SELECT * FROM members ', (err, res) => {
    if (err) {
      //handle error
    }
    pool.end();
    res.render('result', { members: res.rows });
  });
});
  

EJS-File result.ejs (in views folder):

<% if (members.length > 0) { %>
    <div class="grid">
        <% for(member of members) { %>
                    <p><%= member.firstName %></p>
                    <!-- and so on for other properties -->
        <% } %>
    </div>
<% } else { %>
    <h3>No members found!</h3>
<% } %>

Upvotes: 1

Related Questions