


Grundlegendes Funktionsdatenbankdesign für private Nachrichtennachrichten
In diesem Artikel wird die Implementierung der Grundfunktionen privater Nachrichten auf Datenbankebene analysiert.
Projektanforderungen: Private Nachrichtenfunktion. Nach dem Senden einer privaten Nachricht an die andere Partei wird die Liste der Personen, die die Nachricht gesendet oder empfangen haben, auf meiner Seite mit der privaten Nachrichtenliste angezeigt Zeigt die neueste Nachricht der Konversation an. Klicken Sie auf ein beliebiges Element in der Liste, um die Detailseite der Nachrichtenkonversation aufzurufen, auf der die Details der Konversation in umgekehrter Reihenfolge angezeigt werden. Gleichzeitig können Sie Konversationen auf diesen beiden Seiten löschen. Die Seite mit der privaten Nachrichtenliste löscht alle Konversationen mit der anderen Partei und die Seite mit den privaten Nachrichtendetails löscht eine bestimmte Konversation. Die Konversationsaufzeichnungen werden einseitig gelöscht, ohne dass dies Auswirkungen auf die Anzeige der anderen Partei hat .
Softwareumgebung: MySQL
Nachdem ich so viel gesagt habe, gibt es in der Tat nur ein paar wichtige Punkte: Erstens zeigt jeder Datensatz in der privaten Nachrichtenliste nur den letzten Datensatz an Zweitens, einseitiges Löschen des Gesprächsprotokolls, ohne die Sichtbarkeit der anderen Partei zu beeinträchtigen. Gehen Sie zuerst zur Datentabelle und erklären Sie sie dann einzeln.
CREATE TABLE `private_message` ( `id` bigint(20) NOT NULL auto_increment COMMENT '主键Id', `user_id` bigint(20) NOT NULL COMMENT '发送者Id', `friend_id` bigint(20) NOT NULL COMMENT '接受者Id', `sender_id` bigint(20) NOT NULL COMMENT '发送者id', `receiver_id` bigint(20) NOT NULL COMMENT '接受者Id', `message_type` tinyint(4) NOT NULL COMMENT '消息类型,1:普通消息 2:系统消息', `message_content` varchar(500) NOT NULL COMMENT '消息内容', `send_time` datetime NOT NULL COMMENT '消息发送时间', `status` tinyint(4) NOT NULL default '1' COMMENT '消息状态 1:未读 2:已读 3:删除', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;123456789101112
Erstellen Sie eine private_Nachrichtentabelle, Feldbeschreibung:
id:主键,自增长 user_id: 发送者id,非真实发送者id friend_id: 接受者id,非真实接受者id sender_id:发送者id,真实的发送者id receiver_id:接受者id,真实的接受者id message_type:消息类型,1:普通消息 2:系统消息,区分消息列表,可以发送不同类型的消息内容 message_content:消息内容 send_time:消息发送时间 status:消息状态 1:未读 2:已读 3:删除,标记不同消息状态,可以实现统计未读消息数,逻辑删除用户恢复等
Jeder sollte deprimiert sein, nachdem er das gesehen hat. Wie bekomme ich zwei Absender-IDs und Empfänger-IDs?
Hier gehen wir davon aus, dass das einseitige Löschen von Datensätzen die Anzeigefunktion der anderen Partei nicht beeinträchtigt. Daher müssen wir hier beim Senden einer privaten Nachricht zwei Daten mit demselben Inhalt einfügen, müssen jedoch einige Tricks anwenden Bei Benutzer-ID und Freund-ID werden beim zweimaligen Einfügen von Daten die Benutzer-ID und die Freund-ID der zweiten eingefügten Daten mit den ersten eingefügten Daten vertauscht. Das heißt:
INSERT INTO `private_message` VALUES ('1', '121', '127', '121', '127', '1', 'hello word', '2015-09-09 10:25:43', '2');INSERT INTO `private_message` VALUES ('2', '127', '121', '121', '127', '1', 'hello word', '2015-09-09 10:26:41', '1');INSERT INTO `private_message` VALUES ('3', '127', '121', '127', '121', '1', '你是程序猿吗?', '2015-09-11 10:30:16', '2');INSERT INTO `private_message` VALUES ('4', '121', '127', '127', '121', '1', '你是程序猿吗?', '2015-09-11 10:30:59', '2');1234
Auf diese Weise können unsere Bedürfnisse befriedigt werden. Der erste und vierte Datensatz sind für 121-Benutzer sichtbar, und der zweite und dritte Datensatz sind für 127-Benutzer sichtbar. Wenn 121 den ersten oder vierten Datensatz löscht, hat dies sicherlich keine Auswirkungen auf die Anzeige des zweiten Datensatzes durch 127 ! ! !
Okay, jetzt können Sie sich um andere funktionale Anforderungen kümmern.
1. Meine private Nachrichtenliste
SELECT p.id, COUNT(p.id) AS message_count,p.user_id,p.friend_id,p.sender_id,p.receiver_id,p.send_time,p.message_content, u.`name` AS receiver_name,u.img_url AS receiver_image FROM (SELECT * FROM private_message ORDER BY id DESC) p INNER JOIN user u on u.id=friend_id WHERE p.user_id=121 and p.`status` !=3 GROUP BY p.friend_id ORDER BY p.id DESC limit 0,101
2. Meine privaten Nachrichtenlistenseite
SELECT p.id,p.message_content,p.sender_id,p.receiver_id,p.send_time,u.`name` AS sender_name,u.img_url AS sender_image,uu.`name` AS receiver_name FROM private_message p INNER JOIN user u on u.id=p.sender_id INNER JOIN user uu on uu.id=p.friend_id WHERE p.user_id=121 and p.friend_id=127 and p.`status` !=3 ORDER BY p.id DESC limit 0,101
3 🎜>
4. Löschen Sie eine einzelne Konversation aus den Details meiner privaten NachrichtenlisteUPDATE private_message SETstatus=3 WHERE user_id=121 AND friend_id=1271
UPDATE private_message SET status=3 WHERE id=11
SELECT COUNT(*) FROM private_message WHERE user_id=121 AND receiver_id=127 AND status=11
PHP-Chat-Eins-zu-Eins-Chat-Funktionsquellcode
Wie lässt sich der Einsatz von Datenbankindizes effizienter gestalten?
Allgemeine Schritte und Beispiele zum Entwerfen einer DatenbankDas Obige ist der gesamte Inhalt dieses Artikels Wenn Sie Fragen haben, können Sie uns gerne kontaktieren. Hinterlassen Sie eine Nachricht im Kommentarbereich!
Das obige ist der detaillierte Inhalt vonGrundlegendes Funktionsdatenbankdesign für private Nachrichtennachrichten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



1. Öffnen Sie die Douyin-App, klicken Sie unten in der Benutzeroberfläche auf [Nachricht] und dann auf den Chat-Konversationseintrag, der gelöscht werden muss. 2. Drücken Sie lange auf einen beliebigen Chat-Datensatz, klicken Sie auf [Mehrfachauswahl] und markieren Sie die Chat-Datensätze, die Sie löschen möchten. 3. Klicken Sie auf die Schaltfläche [Löschen] in der unteren rechten Ecke und wählen Sie im Popup-Fenster [Löschen bestätigen] aus, um diese Datensätze dauerhaft zu löschen.

1. Wenn Benutzer private Chat-Datensätze von Douyin löschen, können diese Datensätze normalerweise nicht wiederhergestellt werden, da es sich um eine dauerhafte Löschung handelt. 2. Benutzer können sich jedoch an den Douyin-Beamten wenden und versuchen, zu kommunizieren, um den Chat-Verlauf wiederherzustellen. 3. Öffnen Sie die Douyin-App, klicken Sie auf die drei horizontalen Balken in der oberen rechten Ecke der [Me]-Oberfläche, wählen Sie [Einstellungen], schieben Sie nach unten und klicken Sie auf [Über Douyin]. 4. Suchen Sie die [Kundendienst-Hotline] und rufen Sie sie an oder kontaktieren Sie die Mitarbeiter von Douyin über die offizielle E-Mail, um mehr über die Möglichkeit der Wiederherstellung von Chat-Aufzeichnungen zu erfahren.

Die Go-Sprache ist eine effiziente, prägnante und leicht zu erlernende Programmiersprache. Sie wird von Entwicklern aufgrund ihrer Vorteile bei der gleichzeitigen Programmierung und Netzwerkprogrammierung bevorzugt. In der tatsächlichen Entwicklung sind Datenbankoperationen ein unverzichtbarer Bestandteil. In diesem Artikel wird erläutert, wie die Go-Sprache zum Implementieren von Datenbank-Hinzufügungs-, Lösch-, Änderungs- und Abfrageoperationen verwendet wird. In der Go-Sprache verwenden wir normalerweise Bibliotheken von Drittanbietern, um Datenbanken zu betreiben, z. B. häufig verwendete SQL-Pakete, Gorm usw. Hier nehmen wir das SQL-Paket als Beispiel, um vorzustellen, wie die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank implementiert werden. Angenommen, wir verwenden eine MySQL-Datenbank.

Die polymorphe Hibernate-Zuordnung kann geerbte Klassen der Datenbank zuordnen und bietet die folgenden Zuordnungstypen: Joined-Subclass: Erstellen Sie eine separate Tabelle für die Unterklasse, einschließlich aller Spalten der übergeordneten Klasse. Tabelle pro Klasse: Erstellen Sie eine separate Tabelle für Unterklassen, die nur unterklassenspezifische Spalten enthält. Union-Unterklasse: ähnelt der verbundenen Unterklasse, aber die Tabelle der übergeordneten Klasse vereint alle Spalten der Unterklasse.

Apples neueste Versionen der iOS18-, iPadOS18- und macOS Sequoia-Systeme haben der Fotoanwendung eine wichtige Funktion hinzugefügt, die Benutzern dabei helfen soll, aus verschiedenen Gründen verlorene oder beschädigte Fotos und Videos einfach wiederherzustellen. Mit der neuen Funktion wird im Abschnitt „Extras“ der Fotos-App ein Album mit dem Namen „Wiederhergestellt“ eingeführt, das automatisch angezeigt wird, wenn ein Benutzer Bilder oder Videos auf seinem Gerät hat, die nicht Teil seiner Fotobibliothek sind. Das Aufkommen des Albums „Wiederhergestellt“ bietet eine Lösung für Fotos und Videos, die aufgrund einer Datenbankbeschädigung verloren gehen, die Kameraanwendung nicht korrekt in der Fotobibliothek speichert oder eine Drittanbieteranwendung die Fotobibliothek verwaltet. Benutzer benötigen nur wenige einfache Schritte

Als Kurzvideoplattform ermöglicht Kuaishou den Nutzern, ihr Leben jederzeit und überall zu teilen. Häufige Erinnerungen an private Nachrichten können unser tägliches Leben unterbrechen. Wie kann man also Kuaishous Erinnerung an private Nachrichten deaktivieren? 1. Wie kann ich Kuaishous Erinnerung an private Nachrichten deaktivieren? Um Kuaishous Erinnerung an private Nachrichten zu deaktivieren, müssen Sie das Einstellungsmenü von Kuaishou aufrufen. Klicken Sie auf der Kuaishou-Homepage auf die Schaltfläche „Mein“ in der unteren rechten Ecke, suchen Sie die Option „Einstellungen“ und klicken Sie zur Eingabe. Suchen Sie nach dem Aufrufen des Einstellungsmenüs nach der Option „Benachrichtigungseinstellungen“ oder „Nachrichteneinstellungen“. Nachdem Sie zur Eingabe geklickt haben, wird die Option „Erinnerung an private Nachrichten“ angezeigt. Klicken Sie, um Erinnerungen an private Nachrichten einzugeben, und schalten Sie dann den Schalter aus, um keine Erinnerungen mehr an private Nachrichten zu erhalten. 2. Wie schließe ich Popup-Nachrichten in privaten Kuaishou-Nachrichten? Wenn Sie nicht nur die Erinnerungen an private Nachrichten deaktivieren möchten, sondern auch die Erinnerungen an private Nachrichten deaktivieren möchten,

Als eine der beliebtesten Kurzvideoplattformen der Welt verfügt Douyin über eine große Nutzerbasis und umfangreiche Funktionen. Die Funktion für private Nachrichten ist eine wichtige Möglichkeit für Benutzer, miteinander zu interagieren, und Klingeltöne für private Nachrichten sind eine wichtige Möglichkeit, Benutzer an neue private Nachrichten zu erinnern. Wo kann ich also den Klingelton für private TikTok-Nachrichten einstellen? In diesem Artikel erfahren Sie im Detail, wie Sie den Klingelton für private Douyin-Nachrichten einstellen und wie Sie das Problem lösen, dass bei eingehenden privaten Nachrichten keine Tonerinnerung erfolgt. 1. Wo kann ich den Klingelton für private Douyin-Nachrichten einstellen? 1. Öffnen Sie die TikTok-App: Öffnen Sie zunächst Ihre TikTok-App. 2. Rufen Sie die Schnittstelle für private Nachrichten auf: Klicken Sie unten auf der Douyin-Homepage auf das Symbol „Nachricht“, um die Schnittstelle für private Nachrichten aufzurufen. 3. Öffnen Sie die Einstellungen: Klicken Sie in der oberen rechten Ecke der Benutzeroberfläche für private Nachrichten auf das Einstellungssymbol (normalerweise eine Zahnradform). 4. Wählen Sie die Einstellungen für private Nachrichten: Suchen und wählen Sie im Einstellungsmenü

HTML kann die Datenbank nicht direkt lesen, dies kann jedoch über JavaScript und AJAX erreicht werden. Zu den Schritten gehören das Herstellen einer Datenbankverbindung, das Senden einer Abfrage, das Verarbeiten der Antwort und das Aktualisieren der Seite. Dieser Artikel bietet ein praktisches Beispiel für die Verwendung von JavaScript, AJAX und PHP zum Lesen von Daten aus einer MySQL-Datenbank und zeigt, wie Abfrageergebnisse dynamisch auf einer HTML-Seite angezeigt werden. In diesem Beispiel wird XMLHttpRequest verwendet, um eine Datenbankverbindung herzustellen, eine Abfrage zu senden und die Antwort zu verarbeiten. Dadurch werden Daten in Seitenelemente gefüllt und die Funktion des HTML-Lesens der Datenbank realisiert.
