diff --git a/swad_chat_database.c b/swad_chat_database.c
new file mode 100644
index 000000000..cde6c6f1e
--- /dev/null
+++ b/swad_chat_database.c
@@ -0,0 +1,77 @@
+// swad_chat_database.c: chat operations with database
+
+/*
+ SWAD (Shared Workspace At a Distance),
+ is a web platform developed at the University of Granada (Spain),
+ and used to support university teaching.
+
+ This file is part of SWAD core.
+ Copyright (C) 1999-2021 Antonio Caņas Vargas
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+/*****************************************************************************/
+/********************************* Headers ***********************************/
+/*****************************************************************************/
+
+#include // To access MySQL databases
+
+#include "swad_chat.h"
+#include "swad_chat_database.h"
+#include "swad_database.h"
+#include "swad_global.h"
+
+/*****************************************************************************/
+/************** External global variables from others modules ****************/
+/*****************************************************************************/
+
+extern struct Globals Gbl;
+
+/*****************************************************************************/
+/***************************** Private constants *****************************/
+/*****************************************************************************/
+
+/*****************************************************************************/
+/***************************** Private prototypes ****************************/
+/*****************************************************************************/
+
+/*****************************************************************************/
+/********************** Get list of chat rooms with users ********************/
+/*****************************************************************************/
+
+unsigned Cht_DB_GetListOfChatRoomsWithUsrs (MYSQL_RES **mysql_res)
+ {
+ return (unsigned)
+ DB_QuerySELECT (mysql_res,"can not get chat rooms with connected users",
+ "SELECT RoomCode," // row[0]
+ "NumUsrs" // row[1]
+ " FROM cht_rooms"
+ " WHERE NumUsrs>0"
+ " ORDER BY NumUsrs DESC,"
+ "RoomCode");
+ }
+
+/*****************************************************************************/
+/*************** Get number of users connected to a chat room ****************/
+/*****************************************************************************/
+
+unsigned Cht_DB_GetNumUsrsInChatRoom (const char *RoomCode)
+ {
+ return DB_QuerySELECTUnsigned ("can not get number of users"
+ " connected to a chat room",
+ "SELECT NumUsrs"
+ " FROM cht_rooms"
+ " WHERE RoomCode='%s'",
+ RoomCode);
+ }
diff --git a/swad_chat_database.h b/swad_chat_database.h
new file mode 100644
index 000000000..a7d9ee48c
--- /dev/null
+++ b/swad_chat_database.h
@@ -0,0 +1,47 @@
+// swad_chat_database.h: chat operations with database
+
+#ifndef _SWAD_CHT_DB
+#define _SWAD_CHT_DB
+/*
+ SWAD (Shared Workspace At a Distance),
+ is a web platform developed at the University of Granada (Spain),
+ and used to support university teaching.
+
+ This file is part of SWAD core.
+ Copyright (C) 1999-2021 Antonio Caņas Vargas
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+/*****************************************************************************/
+/********************************* Headers ***********************************/
+/*****************************************************************************/
+
+#include // To access MySQL databases
+
+/*****************************************************************************/
+/***************************** Public constants ******************************/
+/*****************************************************************************/
+
+/*****************************************************************************/
+/******************************* Public types ********************************/
+/*****************************************************************************/
+
+/*****************************************************************************/
+/***************************** Public prototypes *****************************/
+/*****************************************************************************/
+
+unsigned Cht_DB_GetListOfChatRoomsWithUsrs (MYSQL_RES **mysql_res);
+unsigned Cht_DB_GetNumUsrsInChatRoom (const char *RoomCode);
+
+#endif