Zur Navigation

Danke System

1 Simon

Kann man das Danke - System von vBulletin nachbauen ??

21.12.2007 10:45

2 Jörg

Wo möchtest du solch eine Funktion einbauen - in eine andere Forensoftware? Ich würde in so einem Fall schauen, ob es dafür nicht bereits ein Plugin gibt

Mit hinreichenden PHP- und SQL-Kenntnissen kann man auch selbst eine Danke-Funktion programmieren. Voraussetzung ist ein datenbankgestütztes Mitgliedersystem. In die Mitgliedertabelle wird eine weitere Spalte (z.B. 'danke') eingefügt, mit einer 0 als voreingestellten Wert. Der Danke-Button wird angezeigt, wenn danke = 0; bei einem Klick auf den Button wird in die Spalte danke eine 1 eingetragen. Zudem wird die Datenbank abgefragt, wieviele Datensätze die Mitgliedertabelle enthält mit der Bedingung danke = 1

Edit: mir fällt gerade ein, dass eine Danke-Funktion doch nicht so einfach zu realisieren ist, wie ich es oben dargestellt habe - man benötigt diese ja für verschiedene Beiträge. Man könnte hierzu in der Tabelle der Beiträge eine Spalte einrichten, in welcher ein Array aufgeführt wird mit den IDs der Mitglieder, die sich bereits bedankt haben. Ist dann noch ein klein wenig aufwendiger bez. Aus- und Einlesen des Arrays

21.12.2007 10:59 | geändert: 21.12.2007 11:39

3 Simon

Okay, damit hätten wir das auch abgeharkt :D

21.12.2007 11:44

4 Rudy

Man könnte hierzu in der Tabelle der Beiträge eine Spalte einrichten, in welcher ein Array aufgeführt wird mit den IDs der Mitglieder, die sich bereits bedankt haben. Ist dann noch ein klein wenig aufwendiger bez. Aus- und Einlesen des Arrays

Genau, mit serialize() und unserialize() kein Problem. Ich führe so in einem CMS in einer Spalte des Typs "TEXT" eine Linkliste in Form eines serialisierten Arrays mit. ist zwar eher auf der unleserlichen Seite, wenn man es mit PHPMyAdmin anschaut, aber es spart Tabellen und Joins, was Programmieraufwand spart und etwas Performance bringt.

Im Prinzip müsstest Du, wenn ein User sich bedankt, die Spalte "danke" des entsprechenden Beitrags auslesen, diesen Wert mit $danksagungen = unserialize($ausgelesenerspaltenwert) in ein Array umwandeln, mit if (!in_array($danksagungen, $user)) { $danksagungen[] = $user; } den User zu den Bedankenden hinzufügen und den serialisierten Wert serialize($danksagungen) wieder in der Spalte speichern.

21.12.2007 21:34

Beitrag schreiben (als Gast)





[BBCode-Hilfe]