Bonjour, je suis en train d'apprendre nodeJS, et pour l'instant, je sais faire en sorte qu'un utilisateur puisse se connecter et se déconnecter, mais comment faire en sorte de récupérer ses informations dans la base de donnée ?
// app.js
app.get('/home', function(request, response) {
// If the user is loggedin
if (request.session.loggedin) {
// show the home page of logged users
username = request.session.username
catfood = request.session.catfood
password = request.session.password
email = request.session.email
var sql = "SELECT * FROM drops WHERE username = '"+ username + "'";
connection.query( sql, function ( err, resultSet ) {
if ( err ) throw err;
//console.log( resultSet );
catfood = resultSet[0].catfood;
});
response.render('loggedin/index', )
//response.end();
} else {
// Not logged in
response.send('Please login to view this page! <a href="login">login</a>');
}
//response.end();
});
// index.ejs
<div class="max-w-screen-lg bg-white shadow-2xl rounded-lg mx-auto text-center py-12 mt-4">
<h2 class="text-3xl leading-9 font-bold tracking-tight text-red-800 sm:text-4xl sm:leading-10">
<%= J'aimerais afficher ici toutes les infos le concernant dans la BDD %>
</h2>
</div>
J'ai réussi, il fallait faire ça :
app.js :
var sql = "SELECT * FROM drops WHERE username = '"+ username + "'";
connection.query( sql, function ( err, resultSet ) {
response.render('loggedin/index', {
user: resultSet
});
index.ejs :
<% user.forEach(function(o) { %>
<%= o.username %> - <%= o.cat %> <br>
<% }); %>
pour connecter nodejs à mysql, je te propose d'utiliser la librairie mysql2 disponible sur npm.
puis tu vas importer le module comme ceci;
import mysql = require('mysql2/promise');
ensuite tu pourras te créer une fonction un peu comme ceci:
export async function query(queryString)
{
// create the connection
const connection = await mysql.createConnection({host:'localhost', user: 'root', database: 'demo'});
// query database
const [rows, fields] = await connection.query(query);
return rows;
}