[GastForen Programmierung/Entwicklung PHP und MySQL Wie erstelle ich ein Warenkorbsystem?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Wie erstelle ich ein Warenkorbsystem?

gerhum
Beiträge gesamt: 36

8. Jun 2005, 21:00
Beitrag # 1 von 10
Bewertung:
(8342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich möchte gern ein Warenkorbsystem erstellen. Aber wie? Ich habe jetzt einen Webspace mit php und mysql.

Kann mir jemand helfen?

mfg
gerhum
X

Wie erstelle ich ein Warenkorbsystem?

Intermedia
Beiträge gesamt: 1287

8. Jun 2005, 21:34
Beitrag # 2 von 10
Beitrag ID: #170889
Bewertung:
(8342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ohhh das sind ja fromme Wünsche.;-)

Wenn es nur um einen Warenkorb geht ist es eigentlich nicht so schlimm.
Günstig ist es eine DB zu haben, dort legst du Tabellen an in welchen du dann die gekaufen Artikel abspeicherst, um die einzelnen Kunden zu unterscheiden verwendest du die SessionID.
Du speicherst dann noch die Stückzahl und sonstige Infos ab, wo du denkst das sie gebraucht werden.

Für die Ausgabe machst du einfach eine Schleife anhand der SessionID, list die Artikel aus, berechnest anhand der Stückzahl den Gesamtpreis, summierst alle Artikel auf und bildest die Gesamtsumme.
Dann kommten noch die Versandkosten dazu und fertig ist der Warenkorb.
Zuletzt rufst du ein Formular auf um die Kundendaten zu erfassen und verschickst den ganzen Spaß per Mail.
Gute Datenbankkenntnisse werden vorausgesetzt.

In einer weiteren Variante kommst du sogar ohne Datenbank aus, du speicherst alle Informationen während des Einkaufs in Sessionvariablen welche du dann im Warenkorb wieder auseinander nimmst und wie schon beschrieben weiterverarbeitest. Hier sollten verdammt gute Kenntnisse mit der Arbeit von Session und Arrays vorhanden sein.

Noch eine Variante, du siehst dich mal auf dem Open Source Markt um und nimmst einen fertigen Shop z.B. OSCommerce und hast fast keine Arbeit außer Layoutanpassung.

Und zu guter Letzt gibt es immernoch die Möglichkeit, sowas in Auftrag zu geben.

Ich vermute mal du hast mit php und Datenbanken noch nicht viel zu tun gehabt, in diesem Falle empfehle ich dir mal mit etwas einfacheren anzufangen, wie z.B. ein Gästebuch.

Aber wenn du noch konkrete Fragen haben solltest dann nur zu, ich hoffe die Antworten helfen erst mal weiter.

Gruß Sven


als Antwort auf: [#170875]

Wie erstelle ich ein Warenkorbsystem?

gerhum
Beiträge gesamt: 36

9. Jun 2005, 22:44
Beitrag # 3 von 10
Beitrag ID: #171232
Bewertung:
(8342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven!

Danke für Deine schnelle Antwort. Ich habe mir folgendes vorgenommen:

1. Den Online-Shop möchte ich nicht mit Hilfe von fertigen Lösungen generieren, denn ich möchte ja Stolz auf meine Arbeit sein.

2. ja, du hast recht, daß ich mit PHP und Datenbanken noch nicht soviel Erfahrung habe, jedoch daß ist ja die Herausforderung.

3. Die Fremdvergabe kann ich mir auf gar keinen Fall vorstellen. Ich möchte ja dabei etwas lernen

Ich habe mir nun folgendes vorgestellt:

Die Datenbank:
Der Onlineshop soll mittels einer mysql-Datenbank funktionieren. Die Datenbank enthält folgende Tabellen:
* Artikelstamm
* Kundenstamm
* Bestellungen

Der Artikelstamm enthält hier Informationen über die im Shop verfügbaren Artikeln samt Beschreibungen, Lagerständen und Kategorien. Als Key soll ein Autowert gelten. Der Kundenstamm einthält Daten über dem Kunden und der Lieferadresse. Als Key soll ebenfalls ein Autowert verwendet werden. Die Bestellungen enthalten bereits bestellte Waren, in dem der Key der Artikel und des Kunden, die Anzahl und das Bestelldatum mit Uhrzeit gespeichert wird. Weiters soll diese Tabelle auch eine Kennzeichnung für mich haben, bei der ich Bestellzeilen als abgschlossen markieren kann.

Bei der Datebank schreibst Du, daß ich eine andere Tabelle mit "Warenkorb" benötige. Die wird mit dem Key Artikelstamm, der SessionID und der Anzahl der Stück vollgestopft. --> Da ich ja meine erste mysql DB mache, habe ich die Frage ob man selctiv Datensatzzeichen löschen kann? Wie kann man es bei dieser Variante anstellen, daß bei nicht erfolgten Bestellungen die Daten mit einer bestimmten SessionID zu einem gewissen Zeitpunkt gelöscht werden kann?
--> Denn nicht jeder gefüllte Warenkorb führt zu einer Bestellung!

Kann die Datenbank in dieser Art und Weise funktionieren oder bin ich auch hier schon viel zuweit weg? Hast Du vielleicht ein kleines gut dokumentiertes Warenkorbsystem? Was spricht dagegen wenn ich die Tabelle Warenkorb als Session Array deklariere. Dieser Array wird nach erfolgreicher Bestellung in die Tabelle Bestellungen übertragen?

Kannst Du mir vielleicht ein Buch empfehlen, was man als gutes Nachschlagewerk verwenden kann?

Du siehst Fragen um Fragen.

SG
Gerhard.

Danke für Deine Unterstützung!


als Antwort auf: [#170875]

Wie erstelle ich ein Warenkorbsystem?

Intermedia
Beiträge gesamt: 1287

10. Jun 2005, 08:20
Beitrag # 4 von 10
Beitrag ID: #171272
Bewertung:
(8342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerhard,

eine Menge an Arbeit liegt vor dir.;-)

Von der Grundidee sieht es ja schon recht gut aus, zumindest hast du dir schon richtig Gedanken gemacht wie du es umsetzt, das ist ein guter Ausgangspunkt.

Das mit den Tabellen kannst du schon so machen.

> Da ich ja meine erste mysql DB mache, habe ich die Frage ob man selctiv Datensatzzeichen löschen kann?

Nun noch etwas zum Warenkorb, wie du die Tabelle benennst ist doch völlig egal, wenn du sie "Bestellung" nennen willst ist das auch ok.
Um nicht abgeschickte Bestellungen zu löschen kannst du z.B. mit einem Timestamp arbeiten welchen du in ein Feld schreibst.
Bei Aufruf des Warenkorbs kannst du dann alles Bestellungen löschen welche z.B. 1 Tag zurück liegen.
Wenn du noch eine Bestellverwaltung integrieren willst, ist es empfehlenswert eine Kennung mit zu schreiben damit du dann weisst ob der Einkauf auch zur Bestellung gekommen ist. Ich leg mir da ein Feld an und schreib eine 1 rein für eine abgeschickte Bestellung.

Also Warenkörbe hab da so etliche, aber einen dokumentierten mit Sicherheit nicht. Aber jeder Warenkorb sieht bei mir etwas anders aus da diese sehr individuell erstellt wurden, eben Kundenspezifisch.
Da kommen teilweise zusätzliche Kriterien hinzu wie Versandzuschläge pro Artikel, berechnen der Versandkosten anhand von Gewicht, Mindestbestellmengen, Versandzuschläge für Ausland, MwSt. Rechnung Inland / EU und restliches Ausland usw.
Also du siehst das man sowas nicht immer globalisieren kann.


> Was spricht dagegen wenn ich die Tabelle Warenkorb als Session Array deklariere. Dieser Array wird nach erfolgreicher Bestellung in die Tabelle Bestellungen übertragen?

Klar kannst du das machen! Aber meiner Meinung nach ist es etwas komplizierter Arrays zu beeinflussen, bedenke das du im Warenkorb Artikel ändern und löschen mußt, damit mußt du das Array jedesmal neu beschreiben. Ich lös das in der DB, glaub es ist einfacher, aber das ist wohl subjektiv.

Bücher zu empfehlen ist immer so eine Sache, da halt ich mich raus. Das Kriterium für ein Buch ist auch der eigene Wissensstand. Schau dich doch mal bei den einschlägigen Buchversendern um und schau dir die Buchbewertungen an.

Eine Empfehlung noch, lern den sicheren Umgang mit Datenbanken in dem du ein Gästebuch schreibst, da ist alles enthalten um in eine DB einen Eintrag zu machen, Einträge ändern und auch löschen.

So das soll es ersteinmal gewesen sein.
Hoffentlich hab ich nichts vergessen.;-)

Gruß Sven


als Antwort auf: [#170875]

Wie erstelle ich ein Warenkorbsystem?

gerhum
Beiträge gesamt: 36

10. Jun 2005, 18:00
Beitrag # 5 von 10
Beitrag ID: #171397
Bewertung:
(8342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven!

Ich werde Deinen Rat folgenden und ein enfaches Gästebuch programmieren. Wenn ich es fertig habe, werde ich mich nochmals, sollte es Dich nicht stören, bei Dir melden.

Könnte jedoch sein, daß ich ein bißchen Zeit benötige, da ich beruflich auch noch tätig bin :-).

schöne Grüße
Gerhard


als Antwort auf: [#170875]

Wie erstelle ich ein Warenkorbsystem?

Intermedia
Beiträge gesamt: 1287

11. Jun 2005, 14:15
Beitrag # 6 von 10
Beitrag ID: #171461
Bewertung:
(8342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerhard,

ja mach das mal so, dann kannst du dich ja gerne wieder hier melden, ich bin nicht der einzigste hier der auch Hilfe anbietet.

Schönes WE
Gruß Sven


als Antwort auf: [#170875]

Wie erstelle ich ein Warenkorbsystem?

gerhum
Beiträge gesamt: 36

23. Jun 2005, 22:07
Beitrag # 7 von 10
Beitrag ID: #174107
Bewertung:
(8329 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven!

Endlich geschafft! Jetzt habe ich ein Gästebuch! Wenn Du Lust hast, kannst Du es unter http://www.brazilian-shop.com/guestbook.php ansehen.

Ich bin gerade dabei die vorhandenen Artikel, die ich im Shop anbieten möchte, als Abfrage zu schreiben.

Bei der Erstellung der Abfrage gehe ich wie folgt vor:
1. Ich erstelle ein Formular
2. Im Formular erstelle ich eine Tabelle
3. Die Tabelle wird mit den Produktdaten gefüllt
4. Diese Tabelle enthält noch ein Eingabefeld, wo ich die Anzahl der zu erwerbende Produkte einstellen kann
5. Diese Tabelle enthält weiters ein verstecktes Feld, bei dem ich die Artikelnummer speichere --> Ist das Möglich?
6. Ein Button, bei dem ich es in den Warenkorb legen kann

Oder hast du einen anderen Tipp, wie man solch eine Abfrage umsetzen kann. Kannst Du mir vielleicht einen link zu einem Onlineshop schicken, denn du erstellt hast?

SG
Gerhard


als Antwort auf: [#171461]

Wie erstelle ich ein Warenkorbsystem?

Intermedia
Beiträge gesamt: 1287

24. Jun 2005, 08:39
Beitrag # 8 von 10
Beitrag ID: #174148
Bewertung:
(8321 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Hallo Sven!

Endlich geschafft! Jetzt habe ich ein Gästebuch! Wenn Du Lust hast, kannst Du es unter http://www.brazilian-shop.com/guestbook.php ansehen.

Ich bin gerade dabei die vorhandenen Artikel, die ich im Shop anbieten möchte, als Abfrage zu schreiben.

Bei der Erstellung der Abfrage gehe ich wie folgt vor:
1. Ich erstelle ein Formular
2. Im Formular erstelle ich eine Tabelle
3. Die Tabelle wird mit den Produktdaten gefüllt
4. Diese Tabelle enthält noch ein Eingabefeld, wo ich die Anzahl der zu erwerbende Produkte einstellen kann
5. Diese Tabelle enthält weiters ein verstecktes Feld, bei dem ich die Artikelnummer speichere --> Ist das Möglich?
6. Ein Button, bei dem ich es in den Warenkorb legen kann

Oder hast du einen anderen Tipp, wie man solch eine Abfrage umsetzen kann. Kannst Du mir vielleicht einen link zu einem Onlineshop schicken, denn du erstellt hast?

SG
Gerhard


Hallo Gerhard,

na prima! Das GB sieht doch schon super aus!

Also deine Ranngehensweise wie du es dir vorstellst ist schon ok so.
Nun gibt es bei der Auflistung der Artikel zum bestellen zwei Möglichkeiten.
Entweder du machst für jeden Artikel ein Formular in der Schleife mit dem Eingabefeld der Stückzahl und dem Bestellknopf, das ist etwas einfacher zu erstellen.

Oder du machst das in einem Formular und arbeitest mit Arrays um dann die bestellten Artikel rauszufinden, damit kannst du sowas mit einem Bestellknopf machen.
Das Array muß dann auf der nächsten Seite auseinandergenommen werden um die bestellten Artikel rauszufinden.
Deine Idee mit dem versteckten Feld und der Artikelnummer trifft auf den Punkt. ;-) So mach ich es auch.

Letzten Endes gibt es verschiedene Möglichkeiten hierzu.

Hier mal ein paar Links wie wir es so realisiert habe:
Layout stammt nicht in allen Fällen von uns, ist zum größten Teil auf Templates aufgebaut in Zusammenarbeit mit Designern, wir haben nur die Programmierung gemacht!

www.schnaepp.de
www.123licht.de
www.pepperbikes.de
www.dumler-backspezialitaeten.de

Es ist gut sich in anderen Shops Anregungen zu holen.

Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#174107]
(Dieser Beitrag wurde von Intermedia am 24. Jun 2005, 08:41 geändert)

Wie erstelle ich ein Warenkorbsystem?

gerhum
Beiträge gesamt: 36

30. Jun 2005, 20:58
Beitrag # 9 von 10
Beitrag ID: #175347
Bewertung:
(8286 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven!

Ich bins wieder einmal ...

Jetzt werde ich schon ein bißchen lästig!

Aber ich würde wieder einmal deine Hilfe benötigen.

Ich habe nun den Produktkatalog fertig, wenn der User eProukte in den Warenkorb gibt, funktioniert es auch schon. In den Warenkorb werden Daten, wie

Sessionid, Artikelid, Anzahl, und Zeit gespeichert. Jetzt habe ich jedoch das Problem, daß ich nicht weiß, wie man Relationen bei einer MySQL Datenbank erstellt.

Ich kenne dies nur von Access, daß in dieser Beziehung einfach ist.

Es kann ja sein, daß der User einen Artikel nicht nur einmal sondern auch mehrmals in den Warenkorb legt.

So jetzt würde ich für das Anzeigen des Warenkorb eine Gruppierung über die Artikelid und Sessionid benötigen, wobei die Anzahl addiert wird und dannach müßte ich diese Daten mit dem Artikelstamm verknüpfen um Information von Preis, Gewicht und den Produktnamen zu bekommen.

Nur habe ich leider keinen blasen Schimmer wie man so etwas in die Realität umsetzt.

Vielleicht kannst Du mir nochmals helfen.

Ich glaube, wenn dieses Projekt bei mir zu Ende ist, bin ich Dir etwas schuldig!

schöne Grüße und ein schönes Wochenende
Gerhard


als Antwort auf: [#174148]

Wie erstelle ich ein Warenkorbsystem?

Intermedia
Beiträge gesamt: 1287

30. Jun 2005, 21:53
Beitrag # 10 von 10
Beitrag ID: #175356
Bewertung:
(8285 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerhard,

ok, du hast schon jedem User ne SessionID zugeordnet. Das ist ok.

Du kannst natürlich mit Relationen arbeiten indem du die ID des Artikels in die Tabelle der Bestellung schreibst und dann die Stückzahl zuordnest.
Wenn jetzt der User die Stückzahl ändern will dann machst du vorher ein "select" auf die Bestelltabelle um rauszubekommen ob dieser User diesen Artikel schon bestellt hat. Sollte z.B. dein Recordcount "0" sein dann ist dieser Artikel noch nicht in der Tabelle und du machst ein "insert" ansonsten kannst du eventuell ein Feedback geben "diesen Artikel gibt es schon" oder du erhöhst mit einem "update" diesen Artikel mit der jetzt gewählten Stückzahl + der schon vorhanden Stückzahl des Artikels.

update warenkorb set menge= menge + $bestellmenge where session=$session and artikel = $artikel

Mit einer Gruppierung könnte es theoretisch auch gehen aber ich glaube das ist nicht ganz so sauber und es ist umständlich die Stückzahl des Artikels rauszubekommen und es ist umständlich die Stückzahl zu beeinflussen.

So nun noch was zu Relationen, das Grundprinzip ist das gleiche wie bei Access und den Abfragen nur das dir da ein Assistent zur Verfügung steht, sieh dir mal den SQL Code bei Access an welcher bei einer Abfrage entsteht, der wird ähnlich sein wie auch bei der Verwendung unter PHP nur das du unter PHP alles selber machen mußt.,-)

Also du mußt ja noch die Artikel des Warenkorbs mit der Artikeltabelle vergleichen, hierfür gibte es die "join" Anweisung, du machst eine Verknüpfung des Fremdschlüssel der Tabelle des Warenkorbs zum Primärschlüssel der Tabelle der Artikeltabelle.

Mal ein konstruiertes Beispiel:

select artikelnummer, sessionid,anzahl,zeit, usw from artikeltabelle join warenkorb on artikeltabelle.artikelnummer = warenkorb.artikelnummer where sessionid = sessionid

Mit dem "join" kannst du mehrere Tabellen verknüpfen hierbei gibt es aber noch mehr Möglichkeiten. Ich muß mal nachsehen, hab da nen gutes Tutorial für SQL Syntax.

Das ist nur etwas Pseudocode.

Hoffentlich hilft dir das weiter!

Gruß Sven

P.S. Was schuldig sein??? Nöööö!!!! Oder doch?? Ich trinke gerne nen Bier. ;-))))


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#175347]
(Dieser Beitrag wurde von Intermedia am 30. Jun 2005, 21:56 geändert)
X

Aktuell

PDF / Print
300_PDF20

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/