Ich habe eine Frage und Antwort Website (so etwas wie SO). Ich möchte diesen Zustand implementieren:Überprüfen der Benutzer-Reputation von PHP vs MySQL
Zustand: Ein Benutzer kann eine Abstimmung nach unten geben, die mindestens 125 reputatoin hat.
Nun kann ich diesen Zustand auf zwei Arten realisieren:
Server Side: Wenn Benutzer anmelden, ich seinen Ruf bekommen und es in $_SESSION['rep']
gesetzt. Benutzen Sie diese dann vor kommentieren
if($_SESSION['rep'] >= 125) { /* can vote */ } else { /* cannot vote */ }
Datenbank Side: Ich kann einen Trigger verwenden und überprüfen Sie es wie folgt aus:
IF (SELECT 1 FROM user WHERE id = new.user_id AND rep < 125) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "cannot vote";
END if;`
ich beide getestet haben und sie arbeiten als Gut. Jetzt möchte ich wissen, welches ist häufiger und Standard?
Danke .. upvote – Shafizadeh
Es gibt keine Notwendigkeit, zuerst zu überprüfen. Sie können INSERT überprüfen, wodurch eine Reise in die Datenbank gespeichert wird.Aber es geht wirklich darum, das Nutzererlebnis so zu gestalten, wie Sie es möchten - vielleicht ist der Abstimmknopf also ausgegraut oder unsichtbar, bis der Wiederholer erreicht ist. – Strawberry
@Strawberry yeah wenn du dich nicht um die Benutzererfahrung kümmerst (Ausgrauen/Verstecken der Schaltfläche) überprüfe einfach, bevor du einfügst Ich stimme zu – Kevin