1
resposta

FOR no arquivo . marko não roda? não consegui exibir a lista puxada do banco de dados(mysql)

database.js

const mysql = require('mysql');

const connection = mysql.createConnection({
    host: "********",
    user: "******",
    password: "*******",
    database: "******"
});

connection.connect(function(err){
    if(err) return console.log(err);
    console.log('conectou!');
  });

module.exports = connection;

rotas.js

const connection = require('../config/database');
module.exports = (appl) => {

    appl.get('/listaclientes', function(req, res) {
        const sql = 'SELECT * FROM cliente;';
        connection.query(sql, function(err,result) {
            res.marko(
                require('../views/listaclientes.marko'),
                    {   
                    clientes : result
                    }
            );
        });
     });
};

trecho listaclientes.marko

 <tr>
                            <for|cliente| of=data.clientes>
                                <td> ${cliente.nome}</td>
                                <td>${cliente.endereco}</td>
                                <td>${cliente.email}</td>
                                <td>${cliente.numero}</td>
                                <td>${cliente.pedidos}</td>
                            </for>
                        </tr>

Olá, pessoal! Gostaria de entender o que está acontecendo, o que de errado estou fazendo? Pois a aplicação roda normalmente, inclusive testei um console,log dos dados do DB pelo main, e exibiu.. E ao carregar a pagina listaclientes.marko, abre normalmente, carrega tudo, exceto a tabela com as informações do DB.. Poderiam me ajudar?

1 resposta

Olá Mario, tudo bem? Peço desculpas pela demora em ti responder! Entendi, então aparentemente o problema parece ser na view mesmo, você tentou executar com o seguinte código:

<tr for (cliente in data.clientes)> 
    <td> ${cliente.nome}</td>
    <td>${cliente.endereco}</td>
    <td>${cliente.email}</td>
    <td>${cliente.numero}</td>
    <td>${cliente.pedidos}</td>
</tr>

Fala pra gente qual foi o resultado!