0
을 만들면 내 데이터베이스에 모든 "룸"이 포함 된 테이블을 표시하고 방의 작성자에게 표시하려고하지만 사용자의 ID 만 방 테이블에 저장됩니다. , 그래서 나는 user 테이블에 대한 질의를해야만한다. 나는 모든 이름을 가지고이 기능노드 js와 함께 2 개의 비동기 쿼리
build_user(rows[i].creator, function(res){
전에
console.log(room_name);
을 시도하는 경우
socket.on('room', function() {
connection.query('SELECT * FROM room', function(err, rows) {
for(i=0;i<rows.length;i++) {
var room_name = rows[i].name;
var room_nbPlayer = rows[i].nbPlayer;
var room_language = rows[i].language;
build_user(rows[i].creator, function(res){
var username = res;
io.sockets.volatile.emit('broadcast_room', "<tr>" +
"<td>" + room_name + "</td>" +
"<td>" + room_nbPlayer + "</td>" +
"<td>" + room_language + "</td>" +
"<td>" + username + "</td>" +
"</tr>");
});
}
});
});
function build_user(id,callback){
connection.query('SELECT username FROM user WHERE id ="'+id+'"', function(err, user) {
var username = user[0].username;
callback(username);
});
}
그래서, exemple에 대한,하지만 한 번 :
나는 이런 식으로 뭔가를 시도 함수에 이름이 모두 같기 때문에 결국 테이블이 잘못되었습니다. 그것은 단지 사용자의 올바른 사용자 이름을 가지고 있지만, 방 쿼리의 모든 변수는 항상 동일한 데이터베이스 (내 데이터베이스의 마지막 방)를 표시합니다.
감사합니다!
감사합니다. – user3198601