Lo he intentado muchas veces pero no puedo resolver este error de sintaxis. Este es un fragmento de app.js (el punto de partida)
const express = require('express'); const sql = require('mysql'); const ejs = require('ejs'); const app = express(); app.set('view-engine','ejs'); app.use(express.urlencoded({extended: false})); const db = sql.createConnection({ host: 'localhost', user: 'root', password: '', database: 'assignment' }); db.connect((err) => { if (err) throw err; console.log('Mole in'); }); app.get('/show',(req,res) => { let sql = 'SELECT * FROM info'; let query = db.query(sql,(err,result) => { if(err) throw err; console.log(result,result.length); res.render('show.ejs',{ students : result }); }) })Este es el fragmento del archivo ejs donde estoy insertando los datos que he recibido de la base de datos.
<tbody> <% students.forEach((student)=> { %> <tr> <td><%=student['Name'] %></td> <td><%=student['Age'] %></td> <td><%=student['Gender'] %></td> <td><%=student['Course'] %></td> <td><%=student['Email'] %></td> <td><%=student['Studentid'] %></td> <td><%=student["Marks 1"] %></td> <td><%=student["Marks 2"] %></td> <td><%=student["Marks 3"] %></td> <td><%=student["Marks 4"] %></td> <td><%=student["Marks 5"] %></td> <td> <button class = "btn btn-outline-danger">Edit</button> <button class = "btn btn-outline-danger">Delete</button> </td> </tr> <% }); %> </tbody>Creo que no hay ningún error de sintaxis aquí en show.ejs.
El error se debe a que usó código js fuera de la sintaxis de ejs. Además, dado que forEach tiene un solo argumento, no es necesario que lo envuelva entre corchetes.
<tbody> <% students.forEach(student => {%> <tr> <td><%=student['Name'] %></td> <td><%=student['Age'] %></td> <td><%=student['Gender'] %></td> <td><%=student['Course'] %></td> <td><%=student['Email'] %></td> <td><%=student['Studentid'] %></td> <td><%=student["Marks 1"] %></td> <td><%=student["Marks 2"] %></td> <td><%=student["Marks 3"] %></td> <td><%=student["Marks 4"] %></td> <td><%=student["Marks 5"] %></td> <td> <button class = "btn btn-outline-danger">Edit</button> <button class = "btn btn-outline-danger">Delete</button> </td> </tr> <% }); %> </tbody>