Advertisement

problem send multiples values in nodejs

Started by August 08, 2018 12:58 PM
1 comment, last by Pedro Alves 6 years, 3 months ago

Hello i try retrive data from a table cidades and show in my express with jade

 


const express = require('express')
const connection = require('../../Config/database')
const controllerAdmin = require('../../controllers/Administration')
const router = express.Router()
//router.get('/Administration', controllerLogin.FindCidades)
router.get('/Administration', (req, res) => res.render('Administration/index',{username:res.locals.user.username
,nome:res.locals.cidade.Nome,coordenas:res.locals.cidade.coordenadas,continente:res.locals.cidade.continente
}))
module.exports = app => app.use('/', router)

const authenticateUser = async (connection,  req, res) => {

  const user = await User.findUser(connection, req.body.username)
    if(!user){
        return res.render('login/login',{error: true})
    }
    if(!await bcrypt.compare(req.body.password, user.password)){
        return res.render('login/login', {error: true})
}
    else{
  //  user.password = undefined
    req.session.user = user
      //const nivel = await User.findnivel(connection, req.body.username)
      if(user.nivel==1){
        const cu = await Cidade.findcidade(connection, req.body.username)
      //  req.session.user.nivel = nivel
        res.locals.user=  user
        req.session.cidade= cu
        res.locals.cidade= req.session.cidade

      //  console.log(1);
       console.log("rewr",cu);
      res.redirect('/Administration');
    }else if(user.nivel==2){
      //  req.session.nivel = nivel


        console.log(2);
      //  res.redirect('/Users')
    }else if(user.nivel==3){
      //  req.session.nivel = nivel

        console.log(3);
      //  res.redirect('/Administration')
    }else if(user.nivel==4){
      //  req.session.nivel = nivel

        console.log(4);
      //  res.redirect('/Administration')
      }
      else if(user.nivel==5){
      //  req.session.nivel = nivel

        console.log(5);
      //  res.redirect('/Administration')
    } else {
        console.log("banned");
    }



  }
}

const findcidade = (connection,username) => {
    return new Promise ((resolve, reject) => {
        connection.query(`SELECT cidade.cod_cidade, cidade.Nome,cidade.continente,cidade.coordenadas,cidade.ouro,cidade.madeira,cidade.metal,cidade.pedra,cidade.energia, cidade.comida,cidade.petrolio FROM user INNER JOIN cidade ON user.cod_user=cidade.cod_user WHERE user.username='${username}' `, (err, result) =>{
            if(err){
                reject(err)
            }else{
               if(result.length>0){

                    resolve(result)
                }
                else{
                    resolve(false)
                }

            }
        })
    })
}

give this error what i doing wrong

i want show  for example user maria have athenas and rome

erro.thumb.png.71e7bd18e7c6030e288e7b18f70af5b8.png

Hello

i find the soluction to my problem show all data

administration inde route


const express = require('express')
const connection = require('../../Config/database')
const controllerAdmin = require('../../controllers/Administration')
const router = express.Router()
//router.get('/Administration/', (req, res) => res.render('Administration/index'))
router.get('/Administration/',controllerAdmin.findcidade.bind(null, connection))

//router.get('/Administration', (req, res) => res.render('Administration/index',controllerAdmin.findcidade.bind(null, connection)))
//*/
module.exports = app => app.use('/', router)

Administration controller


const Cidade = require('../models/Cidades')
const findcidade = async (connection,  req, res) => {

  const cidade = await Cidade.findcidade(connection, req.session.user.username)
      if(!cidade){
          return false
      }
      else{
      //  console.log(cu);
    //  user.password = undefined
          req.session.cidade = cidade
          res.locals.cidade = cidade
res.render('Administration/')
    }
  }

extends layout
block content
  b Player:
  b= locals.user.username
block title
   .col-xs-10.col-xs-offset-2.col-sm-8.col-sm-offset-2
    br
    div.panel.panel-primary(style='height:50px',width='30px')
     img(width='50px', height='50px', src='../images/recursos/ouro.png')
     | 10
     img(width='50px', height='50px', src='../images/recursos/madeira.png')
     | 10
     img(width='50px', height='50px', src='../images/recursos/metal.png')
     | 10
     img(width='50px', height='50px', src='../images/recursos/pedra.png')
     | 10
     img(width='50px', height='50px', src='../images/recursos/Lampada.png')
     | 10
     img(width='50px', height='50px', src='../images/recursos/comida.png')
     | 10
     img(width='50px', height='50px', src='../images/recursos/petrolio.png')
     | 10
     img(width='50px', height='50px', src='../images/recursos/moeda.png')
     | 10
   .col-sm-4(style='width:85%')
    div.panel.panel-primary(style='height:50px') dsadsadasdsad
    div.panel.panel-primary(style='height:700px')  fdssdklfsdklfjskldfjkldsjfl
   .col-sm-4.panel.panel-red(style='width:15%;height:100%')
    | [1/1] City
    br
    - each val in cidade
      b= val.Nome
      br
      b= val.coordenadas
      b= val.continente
      br

topic can be close

Hello

This topic is closed to new replies.

Advertisement