CRUD NodeJS - #05 Select
14/09/2019Continuando nosso curso de CRUD com NodeJS, iremos nesta aula realizar a seleção dos registros vindos do banco de dados.
Selecionando dados do banco com NODEJS
Para selecionarmos os dados do banco, utilizaremos novamente nossa constante sql criada na última aula, só que agora usando a query select:
app.get("/select/:id?",function(req,res){
if(!req.params.id){
sql.query("select * from user order by id asc",function(err,results,fields){
res.render('select',{data:results});
});
}else{
sql.query("select * from user where id=? order by id asc",[req.params.id],function(err,results,fields){
res.render('select',{data:results});
});
}
});
No código acima nós alocamos todos os resultados no objeto data. Fizemos também um if em que quando houver um id setado ele vai selecionar apenas o dado daquele id e quando não tiver ele vai selecionar todos os resultados do banco.
Para exibir os dados vamos criar uma tabela no arquivo select.handlebars e vamos estilizar essa tabela:
<table>
<tr>
<td>Action</td>
<td>Id</td>
<td>Name</td>
<td>Age</td>
</tr>
{{#data}}
<tr>
<td>
<a href='update'><img src="/img/Edite.png"></a>
<a href='deletar'><img src='/img/Lixeira.png'></a>
</td>
<td>{{id}}</td>
<td>{{name}}</td>
<td>{{age}}</td>
</tr>
{{/data}}
</table>
No código anterior, veja como o express facilita nossa vida para acessar as propriedades de um objeto, visto que não é necessário usar um loop de repetição, basta utilizar {{NOME_DO_OBJETO}} e ao fim {{/NOME_DO_OBJETO}} e já conseguimos acessar todos os seus índices.
Vamos estilizar essa tabela de forma bem simples:
*{margin:0; padding:0; box-sizing: border-box;}
h1{color: darkred; width:100%; text-align: center;}
a{color:#333;}
table{width: 100%; text-align: center;}
table td{width: 25%;}
table tr:first-child{background: #333; color: #fff; font-weight: bold; padding: 15px 0;}
Sucesso nos códigos e na vida!