Closed dkfma4915 closed 3 years ago
일단 router 쪽에 console.log(allBasketData);
랑 console.log(allBasketMenuData);
로 찍어서 어떻게 나오는지 봐야할듯?
지금 서버쪽 아이디 로그인 해보고 있는데, 비번이 다르다고 뜨네? 다시 알려주삼!
일단 router 쪽에
console.log(allBasketData);
랑console.log(allBasketMenuData);
로 찍어서 어떻게 나오는지 봐야할듯?지금 서버쪽 아이디 로그인 해보고 있는데, 비번이 다르다고 뜨네? 다시 알려주삼!
아 그거 찍어봤는데 allBasketData는 DB에 있는거 나오고 allBasketMenuData는 undefined로 나와! 비번 Jeonha12#
일단 문제는 두번째 db.query
에서 sql 코드가 조금 문제가 있음
문제인즉슨 rows
로 들어오는 데이터가 [{}, {}, ...]
이 형태인데 두번째 sql 코드에서 MenuNo = ${allBasketData.BasketMenuNo}
라고 해버리니까 BasketMenuNo
를 인식못함 그래서 내가 제안하는 방법은 다음과 같음
첫번째 db.query
아이디에 해당되는 Basket정보는 다 들어옴.
그러므로 for문으로 db.query
를 allBasketData
의 길이만큼 돌려서 데이터를 한곳에 모으고 그것을 res.json()
으로 보내면 될듯!!
router.post('/getBasket', (req, res) => {
const userwebid = `'${req.body.userWebId}'`;
const sqlCodeToBasketTable = `
select * from baskettable
where (BasketId = ${userwebid} and
BasketState = 0);`;
db.query(sqlCodeToBasketTable, (err, rows) => {
const allBasketData = JSON.parse(JSON.stringify(rows));
let allBasketMenuData = [];
console.log(allBasketData.BasketMenuNo);
for (let i = 0; i < allBasketData.length; i++) {
const sqlCodeToMenuboard = `
select * from menuboard where (MenuNo = ${allBasketData[i].BasketMenuNo});`;
db.query(sqlCodeToMenuboard, (err, results) => {
let basketMenuData = JSON.parse(JSON.stringify(results));
// basketMenuData 는 [{}] 꼴이기 때문에 0번째 원소를 넣어주면 됨
allBasketMenuData.push(basketMenuData[0]);
})
}
})
})
저번에 말했던대로 baskettable의 basketMenuNo를 이용해서 menuboard의 price와 FoodNameKor를 불러오고싶어서 수정한 코드입니다! router에서 menuboard 불러오는 sql 코드를 작성했는데 불러와지지가 않더라고.. 그래서 어느 부분이 잘못된건지 혹시 봐줄 수 있어??
select * from menuboard where (MenuNo = ${allBasketData.BasketMenuNo})
에서 ${allBasketData.BasketMenuNo}랑 MenuNo가 같다는 조건을 이용하는거 맞지 않나???