3 Stimmen

Speicherung von temporären Daten für einen Einkaufswagen

Ich erstelle einen Einkaufswagen für meine Website.

Welche Lösung ist besser, die Speicherung von Daten in einer Sitzung oder die Speicherung von Daten in einer Tabelle? Wenn ich die Daten in einer Tabelle speichere, wie und wann lösche ich die Datensätze in der Tabelle (d.h. wenn sie nicht vom Benutzer, sondern in der Tabelle gekauft wurden)?

3voto

David Elizondo Punkte 1113

In meinem speziellen Fall speichere ich die Informationen in einer CartOrder Tabelle. Der Status ist anhängig . Wenn der Vorgang abgeschlossen ist, füge ich die Informationen in die Tabelle Order ein und markiere die CartOrder als erledigt (oder löschen Sie es). Für mich ein CartOrder ist die Absicht eines Kaufs, der Bestellung ist der Kauf an sich.

Es macht nichts, wenn Sie die CartOrder nicht löschen, Sie können sie später wieder verwenden (schauen Sie sich an, wie amazon oder andere Websites Ihren letzten Warenkorb verfügbar halten, auch wenn Sie den Kauf nicht abgeschlossen haben). Es wäre auch schön, wenn man verfolgen könnte, wie viele Nutzer die Website betreten, sich umsehen, einen Einkaufswagen starten, aber den Kauf nicht abschließen. Die Benutzer lieben das.

2voto

Jé Queue Punkte 9947

Eine Frage der Vorliebe. Beide sind sinnvoll. DB bietet Ihnen die Möglichkeit zu analysieren, was gekauft werden sollte oder zumindest in der Warteschlange in Bezug auf das Interesse an Ihren Kunden, dass die Daten oft recht gültig als Kennzeichnung starkes Interesse an Ihren Angeboten und viele Male, dass die Daten NICHT gelöscht wird, hat nur ein Ablaufdatum oder zumindest eine Session-ID als Attribut in der Tabelle.

Wie bei der DB-Methode ist das Löschen eine einfache Bereinigung, die Sie täglich oder wöchentlich in einem Cron- oder anderen geplanten Job ausführen können, um alle Datensätze zu löschen, die tatsächlich abgelaufen sind.

2voto

RageZ Punkte 25926

Hängt davon ab, was Sie tun wollen.

Die übliche Lösung ist die $_SESSION Diese Lösung ist einfach zu implementieren und beeinträchtigt die Leistung Ihrer Website nicht.

Die Datenbanksitzung ist vorteilhaft, weil es keine Zeitüberschreitung gibt und sie ein wenig zuverlässiger ist.

Ich würde sagen, wenn Ihre Preisschilder ziemlich teuer sind, ist es besser, eine DB-Sitzung zu haben, weil der Benutzer normalerweise mehr Zeit zum Nachdenken hat, wenn er mehr als 10.000 $ ausgibt.

Für normale Produkte ist die SESSION-Lösung ausreichend.

1voto

brianegge Punkte 28043

Nehmen Sie sich ein Beispiel an Amazon, speichern Sie die Daten in einer Datenbank und löschen Sie sie niemals.

Welchen Wert haben die Artikel im Einkaufswagen für Sie? Wie viel kostet es Sie, den Inhalt des Warenkorbs zu speichern? Wenn jemand seinen Einkaufswagen verlässt und ein Jahr später auf Ihre Website zurückkehrt, möchte er die Artikel im Einkaufswagen vielleicht immer noch haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X