Задача: Получить id добавляемой записи как в php, через mysql_insert_id() и вернуть обратно в клиент.
Клиент:
// В начале переменные с данными о пользователе
var ... ;
//Создание блока с сообщением и показ на странице
function msg(avatar, nick, text, my){
// В m нужно добавить получаемый id сообщения
var m = ... ;
messages
.append(m)
}
//Получение ответа и отправка данных в функцию
socket.on(dialog, function (data) {
msg(
data.avatar,
data.name,
data.text,
data.my,
data.id
);
});
//Отправка на сервер
socket.emit("chat", {
id: dialog,
my: my_id
text: text,
name: name,
avatar: avatar,
});
Сервер:
client.on('chat', function (chat) {
try {
//Получаемые данные пользователя
var post = {
dialog: chat.id,
text: chat.text,
users: chat.my,
status: 1,
date: new Date()
};
//Отправка сообщения в базу данных
var query = connection.query(
'INSERT INTO chat SET ?', post, function(err, result) {
console.log('Добавлено сообщение');
});
//Отправка сообщения обратно на страницу
client.emit(chat.id, chat);
//Здесь нужно отправить id сообщения
client.broadcast.emit(chat.id, chat);
} catch (e) {
console.log(e);
client.disconnect();
connection.end();
}
});
Если в таблице chat
имеется уникальный id
с AUTO_INCREMENT
, то после добавления, вам должен быть доступен insertId
.
//Отправка сообщения в базу данных
var query = connection.query(
'INSERT INTO chat SET ?', post, function(err, result) {
console.log('Добавлено сообщение с id = ' + result.insertId);
});
Документация.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Данный скрипт выводит все найденные результаты по маске из таблицы usersКак сделать так, чтобы при нажатии на кнопку Город, сортировал по алфавиту?
Созрел такой вопрос: Есть форма, пользователь вводит данные, форма передаёт на обработчик, например sendphp, тот в свою очередь соединяется с mySql и вносит...