El Steve: Warenkorb mit php und sql erstellen sehr wichtig (is für schule)

Hallo

Ich habe ein größeres Problem. Ich muss für die Schule eine Homepage erstellen, die Homepage soll ein Shop beinhalten, indem ich auch Wein verkaufen kann und anderes Zeug aber des is ja dann eigentlich egal.

wir haben ein Anforderungskatalog bekommen, indem ich den Shop in php schreiben soll (plus Datenbank sql mit microsoft acces erstellt) und halt HTML mit css.

Mein Problem ist jetzt, dass ich mich mit php net so gut auskenne und net genau Weiß wie ich es Umsetzen soll.

Erstma en paar Einzelheiten die ich bis jetzt so hab bzw. wie ich mir des vorstelle

--Datenbank
Ich habe eine Kunden Tabelle mit folgenden Attributen
1)Kundennummer (Primärschlüssel) eigentlich ja logisch :D
2)Vorname
3)Nachname
4)Straße
5)Email
6)Passwort
7)PLZ
8)Ort
9)Telefon

Eine Artikeltabelle mit folgenden Attributen
1)Artikelnnummer (Primärschlüssel)
2)Bezeichnung
3)Preis
4)Bestand

Eine Auftragtabelle mit folgenden Attributen
1)AuftragsNr
2)Datum

Und als letztes eine Auftragspositionstabelle
1)Bestellmenge
2)Preis_gesamt

Also ein Kunde kann kann ein oder mehrere Aufträge haben, ein Auftrag kann ein oder mehrere Auftragspositionen haben und 0 oder mehr Positionen können einen Artikel beinhalten (des mal so nebenbei)

--Nebenbei mal so
Wenn jetzt jemand sagt es wäre besser das ein Kunde 0 oder mehr Aufträge haben kann, des hat schon seinen sinn weil ich will das man sich anmelden muss um sachen zu kaufen :D

----zu html
Ich habe schon so alles in html erstellt, also ich hab drop down menüliste
mit Wein (weißwein, rotwein, rolting, rosè) dann Angebote(Special, ect.) erstellt

So jetzt mal zur Hauptsache, ich habe mir das so vorgestellt, dass ich bei weißwein.html gerade die weinflaschen darstelle und nur en button drücken muss um des ins warenkorb zu stellen, des gilt auch für die anderen sachen, da fängts schon bei mir an, ich wollte es mit einen submit button machen aber wie soll ich des dann in php machen

So wollte ich es machen

<?php
  $rotweinsorte1=$_POST['name des submitsbutton']

und dann halt ne if Anweisung machen, dass wenn es true ist  es im Warenkorb steht, da muss ich aber noch mit Sessions arbeiten oder :( kenn ich mich ach net so gut aus, aber kann man in nem tutorial ja nachlesen
?>

aber wie ich des genau umsetzen soll weiß ich auch net(ich wollte es mit "isset"mache)  nur so nebenbei wenn man des dann ausgewählt hat sollte man es nicht nochma auswählen, da weiß ich auch net wie ich des machen soll.

so wenn die waren dann ausgewählt wurden sollte man en weiteren submit button drücken, dann sollte eine abfrage kommen mit email eingeben und Passwort eingeben

des sollte dann überprüft werden wenn es nicht so ist sollte man die Daten eingeben(also Anmeldung, daswegen ist in der Datenbank eine 1 zu 1..n beziehung nicht 0..n)

wenn man sich dann angemeldet hat sollen die Daten in der Datenbank gespeichert werden und fertig(hört sich iwie einfach an aber ich bin da voll verballert)

Wenn mir da jemand weiterhelfen könnte wäre ich echt dankbar, ich hab schon vieles ausprobiert, mit oscommerce und warenkorbprogrammen aber des checkt leider der Lehrer

Ich wäre auch sehr dankbar wenn mir jemand auch so en paar Zeilen zumindest vorführen würde

Vielen dank im voraus

  1. hi,

    am Besten wärs, Du programmierst erstmal den Drag & Drop Teil in HTML, weil, die vielen Flaschen müssen ja irgendiwe inn Korb rein oder so.

    Viele Grüße,
    Horst

    1. hi Horst,

      am Besten wärs, Du programmierst erstmal den Drag & Drop Teil in HTML, weil, die vielen Flaschen müssen ja irgendiwe inn Korb rein oder so.

      Was meinst du mit Drag and Drop ?????
      Ich wollte es über einen Button machen, und dann in einer anderen html datei als iframe wiedergeben

      1. »» hi Horst,
        »»
        »» am Besten wärs, Du programmierst erstmal den Drag & Drop Teil in HTML, weil, die vielen Flaschen müssen ja irgendiwe inn Korb rein oder so.

        Was meinst du mit Drag and Drop ?????
        Ich wollte es über einen Button machen, und dann in einer anderen html datei als iframe wiedergeben

        1. hi Steve,

          »» »» am Besten wärs, Du programmierst erstmal den Drag & Drop Teil in HTML, weil, die vielen Flaschen müssen ja irgendiwe inn Korb rein oder so.
          »»

          Ne mal im Ernst, Johny7 hat ja schon Einiges geschrieben, das Wichtigste ist vorerst gar so nicht das Detail, sonderen das Konzept.

          Nach meiner Erfahrung: Bevor Du anfängst, überhaupt eine Zeile Quellcode zu schreiben (egal ob PHP, Perl, HTML) sollte das Konzept fertig sein. Ein paar Kritzeleien auf Papier dazu schaden überhaupt nicht, ganz im Gegenteil, ich mach das auch so bei größeren Dingen.

          Über Warenkörbe hab ich mir auch schon mal Gedanken gemacht, eine gute Katalogisierung und eine sinnvolle Produkthierarchie ist da enorm wichtig. Mach Dir Gedanken zu und wie das in eine DB umgesetzt werden kann. Pflegeleicht muss es sein, Hinzufügen eines Teils oder Umordnen eines Teils in eine andere Kategorie...

          Und kundenfreundlich: Kleines Bild, großes Bild, Bild nicht vorhanden, Details zum Produkt wie "am Lager", "Lieferung in x Tagen", "Ausverkauft" und natürlich der Preis/MwSt, das sollte alles abrufbar sein ohne dass der Kunde seinen virtuellen Rundgang großartig unterbrechen muss.

          Der Kunde sollte jederzeit abfragen können, was er im Korb hat und dies auch jederzeit ändern können, bevor er zur Kasse schreitet. Konsistente Navigation, das heißt programmiertechnisch auch Arbeiten mit Session und Cookies.

          Datenschutz und Transparenz für den Kunden, der will ganz genau wissen, was von ihmsen gespeichert wird. Kundenfreundlich heißt: Der Kunde kommt wieder und nicht das Produkt.

          Rechnungswesen, offene Posten, Mahnwesen, Reklamationsfälle - da musst Du natürlich auch fit drin sein. Hast Du schonmal ein Kassenbuch geführt?

          Mein lieber Schwan, da kommt Einiges auf Dich zu, aber lass Dich nicht entmutigen, machbar ist das Alles.

          Hotte

          --
          Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
    2. Moin allerseits,

      hi,

      am Besten wärs, Du programmierst erstmal den Drag & Drop Teil in HTML, weil, die vielen Flaschen müssen ja irgendiwe inn Korb rein oder so.

      Vergiss bitte nicht, eine Sicherheitsfunktion ein zu bauen, die das Aufschlagen der Flaschen auf den Warenkorbboden verhindert. Am Besten, du programmierst eine Funktion, welche die Fallgeschwindigkeit der Flasche nach dem Droppen mit der Maus mit natürlichem Logarithmus verringert. Wenn alle Parameter richtig eingestellt sind (nicht, dass die Flasche den Boden schon nach einem halben Tau[Zeitkonstante] erreicht hat), kannst du sogar erreichen, dass die Flasche den Boden niemals in Wirklichkeit berührt, sondern einige µm über dem Warenkorbboden schwebt.
      Wenn du mit dem Einsatz dieses innovativen Produktes dann gewaltige Umsätze machst, bitte ich jetzt schon ganz höflich darum, mir ein angemessenes Honorar zukommen zu lassen!

      Grüße, JN

      --
      ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)
      http://www.johny7.de
  2. Mein lieber Steve,

    sicherlich bist du noch nicht häufig auf unserem Portal hier gewesen. Auch wenn es langweilig klingt: ich empfehle dir wärmstens die Charta von SelfHTML; der betroffene Absatz enthält nicht allzu viele Zeilen.

    Grundsätzlich kann ich dir zu deiner Herangehensweise aus meiner langjährigen Erfahrung heraus nur sagen:
    Ohne gutem Projektentwurf und entsprechendem Projektplan wird das Projekt nie gut!
    Beim Entwerfen eines neuen Projektes nehme ich mir stets Papier und Bleistift zur Hand (darf auch eine Kugelschreiberin sein). Zu erst lege ich das Ziel des Projektes fest, dann schreibe ich die Rahmenbedingungen auf. Nur so kann mein Projekt zielorientiert gestaltet sein.
    Als nächstes zeichne ich eine Grobstruktur des Projektes; auf weiteren Blättern werden die Teile der Grobstruktur verfeinert. (Für solche Zeichnungen gibts sogar Regeln, UML-Sprache gennant. Ich habe sie bisher nie benutzt, weil ich allein gearbeitet habe. Wichtig ist, dass ich jederzeit während der Entwicklung den Überblick behalte und alle nötigen Informationen zur Hand habe sowie es selbst alles verstehen.)

    Wenn die Struktur ganz klar im Kopf  u n d  auf dem Papier ist, kannst du mit dem Programmieren anfangen. Gehe dabei unbedingt genauso strukturiert vor. Schreibe auf keinen Fall alles in eine einzige Programmdatei, wo dann nach 12,736 Wochen nichts mehr wiederfinden kannst und nur Bahnhof bzw. exit() verstehst. Strukturier dein Projekt z.B. folgendermaßen:
    index.php        -   Eine Datei, in der die Grobstruktur ist
    navigation.php   -   Hier befindet sich die Navigation der Website
    benutzer.php     -   Hier kann sich jeder anmelden, seine Daten ändern usw.
    warenkorb.php    -   Mit diesen Funktionen kann jeder seine Flaschen auf den Boden des Warenkorbes gleiten lassen usw. (Funktion zum Herausgleitenlassen nicht vergessen)
    usw.

    Über den include-Befehl in PHP kannst du so die Unterstrukturen einbinden. Dies ist nur eine Strukturmöglichkeit bzw. ein Konzept. Es gibt mittlerweile viele Ansätze. Im Netz kannst du sicherlich den für deine Bedürfnisse richtigen finden. Durchsuche das Web doch mal nach "Website strukturieren" und "CMS". CMS (Content Management System) ist übrigends das Werkzeug für Websiteverwaltung. Du findest dazu verschiedene theoretische Ausführungen mit verschiedenem Umfang. Alles wirst du sicher nciht für dich gebrauchen. Aber sicher gibt es auch eine akzeptable Beschreibung für dich.

    Wenn du dann erst einmal die Struktur definiert hast, und alles, was du brauchst und schon kannst bereits fertig ist und es gibt dann noch Probleme, dann steht es um dich wesentlich besser als jetzt, denn:
    1. Du weißt selbst, wo dein Problem liegt
    2. Du kannst wegen Punkt 1 fast immer die Problemlösung selbst im Netz finden
    3. Solltest du irgendwann nicht weiterkommen, kannst du Hilfe in diesem Forum finden, weil du dein Problem konkret beschreiben kannst.
    Ich empfhele dir, vor dem Stellen einer Frage, einmal das Forum zu durchsuchen. Dabei kommst du wesentlich schneller zu Ergebnissen und sparst den anderen Forumsmitgleidern jede Menge Nerven.

    Ich wünsche dir noch viel Erfolg und verrate deinem Lehrer nicht, dass ich dir das beigebracht habe, was er nicht imstande war, dir bei zu bringen

    Grüße, JN

    --
    ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)
    http://www.johny7.de
  3. Die Frage ist, willst du es mit Serverseitiger Sprache usetzen (PHP, PERL, ASP ...) oder Clientseitig (JavaScript)?

    Das 2te ist einfacher und geht schneller, vorallem wird nur der KundenPC belastet, nicht euer Schul-Server.

    Fang langsam an, erstmal den Shop erstellen, die Artikel inkl. der Artikel-Daten (ID, Beschreibung, Preis, MwSt., Versandkosten, Zuschlag, Rabatt usw.) darstellen lassen, ohne jegliche Bedienung. Dann langsam steigern, Artikel in den Warenkorb legen, dann den "Kasse-Bereich" (Checkout).

    Viel Spaß

    1. Das 2te ist einfacher und geht schneller, vorallem wird nur der KundenPC belastet, nicht euer Schul-Server.

      Warum sollte es clientseitig einfacher als serverseitig sein? Wenn man auf die Datenbank verzichtet und alles per Cookies abhandelt, dürfte es kaum einen Unterschied geben.

    2. Die Frage ist, willst du es mit Serverseitiger Sprache usetzen (PHP, PERL, ASP ...) oder Clientseitig (JavaScript)?

      Das 2te ist einfacher und geht schneller, vorallem wird nur der KundenPC belastet, nicht euer Schul-Server.

      Fang langsam an, erstmal den Shop erstellen, die Artikel inkl. der Artikel-Daten (ID, Beschreibung, Preis, MwSt., Versandkosten, Zuschlag, Rabatt usw.) darstellen lassen, ohne jegliche Bedienung. Dann langsam steigern, Artikel in den Warenkorb legen, dann den "Kasse-Bereich" (Checkout).

      Viel Spaß

      Ja des hört sich plausibel an, ist schon mal en guter ansatz DANKE :P

  4. Hi there,

    ich will Dich jetzt nicht noch mehr verwirren, aber:

    Eine Artikeltabelle mit folgenden Attributen
    1)Artikelnnummer (Primärschlüssel)
    2)Bezeichnung
    3)Preis
    4)Bestand

    wenn Dein Shopbeispiel halbwegs Sinn machen sollte wirst Du damit nicht auskommen. Das wichtigste Element an einem Shop ist eine Suchfunktion, die dem Kunden in wenigen Schritten zu dem Artikel führt, den er haben will. Das könnte er bei Dir nie machen, ausser er kennt genau die Bezeichnung, was aber eher unwahrscheinlich ist. Bei Wein würd ich sagen fehlt mindestens Sorte, Produzent, Land und Anbaugebiet.

    Eine Auftragtabelle mit folgenden Attributen
    1)AuftragsNr
    2)Datum

    da könnte noch eine Session-ID drin stehen.

    Und als letztes eine Auftragspositionstabelle
    1)Bestellmenge
    2)Preis_gesamt

    Da muss die Auftragsnummer drin stehen. Sonst kannst Du Deine Bestellmengen niemandem zuordnen. Der Preis hat da überhaupt nichts verloren, dafür fehlt die Artikelnummer.

    --Nebenbei mal so
    Wenn jetzt jemand sagt es wäre besser das ein Kunde 0 oder mehr Aufträge haben kann, des hat schon seinen sinn weil ich will das man sich anmelden muss um sachen zu kaufen :D

    Das ist wahrscheinlich unvermeidlich, prinzipiell aber gilt, es ist völlig egal, was Du willst, entscheidend ist immer, was der will, der bei Dir einkauft.

    mit Wein (weißwein, rotwein, rolting, rosè) dann Angebote(Special, ect.) erstellt

    auch wenn's wurscht ist, der Accent auf dem rosé ist falsch;)

    So wollte ich es machen

    <?php
      $rotweinsorte1=$_POST['name des submitsbutton']

    Wozu willst Du in einer Variable eine Eigenschaft speichern, die Dich überhaupt nicht interessiert? Ein Submitbutton an der Stelle übergibt einfach Artikelnummer und Menge an Deine Auftragspositionstabelle.

    und dann halt ne if Anweisung machen, dass wenn es true ist  es im Warenkorb steht, da muss ich aber noch mit Sessions arbeiten oder :( kenn ich mich ach net so gut aus, aber kann man in nem tutorial ja nachlesen

    Oje;) Du kannst mit Sessions oder Auftragsnummern oder auch mit beiden Arbeiten, aber eines davon muss zwingend in die Auftragspositionstabelle. Stell Dir das Chaos vor, wenn Du zwei oder mehrere Kunden in Deinem Shop hast.

    aber wie ich des genau umsetzen soll weiß ich auch net(ich wollte es mit "isset"mache)  nur so nebenbei wenn man des dann ausgewählt hat sollte man es nicht nochma auswählen, da weiß ich auch net wie ich des machen soll.

    zurück an den Start;)

    so wenn die waren dann ausgewählt wurden sollte man en weiteren submit button drücken, dann sollte eine abfrage kommen mit email eingeben und Passwort eingeben
    des sollte dann überprüft werden wenn es nicht so ist sollte man die Daten eingeben(also Anmeldung, daswegen ist in der Datenbank eine 1 zu 1..n beziehung nicht 0..n)

    prinzipell richtig.

    wenn man sich dann angemeldet hat sollen die Daten in der Datenbank gespeichert werden und fertig(hört sich iwie einfach an aber ich bin da voll verballert)

    ja dann...

    Wenn mir da jemand weiterhelfen könnte wäre ich echt dankbar, ich hab schon vieles ausprobiert, mit oscommerce und warenkorbprogrammen aber des checkt leider der Lehrer

    Ich wäre auch sehr dankbar wenn mir jemand auch so en paar Zeilen zumindest vorführen würde

    Bei Deinem Wissenstand werden ein paar Zeilen nicht reichen fürcht' ich...

    1. Ich will dich ja nicht kritisieren aber wie oben angegeben haben wir ein Anforderungskatalog bekommen

      und in diesem katalog ist nichts von einer Suchfunktion die Rede

  5. Lieber El Steve,

    Ich habe ein größeres Problem. Ich muss für die Schule eine Homepage erstellen, die Homepage soll ein Shop beinhalten, indem ich auch Wein verkaufen kann und anderes Zeug aber des is ja dann eigentlich egal.

    ist das jetzt ein ernster Auftrag, der später auf der Schulwebsite laufen soll, oder ist das eine Lernaufgabe?

    wir haben ein Anforderungskatalog bekommen, indem ich den Shop in php schreiben soll (plus Datenbank sql mit microsoft acces erstellt) und halt HTML mit css.

    Hmm. Je nach Shop- bzw. Unternehmensgröße ist der Einsatz einer Datenbank sehr sinnvoll. Wenn es aber nur um eine Hand voll Artikel geht, dann geht das auch ohne Datenbank.

    Mein Problem ist jetzt, dass ich mich mit php net so gut auskenne und net genau Weiß wie ich es Umsetzen soll.

    Wenn es eine Lernaufgabe ist, dann wirst Du wohl etwas tun müssen. Wenn es ein ernster Auftrag ist, warum sollst Du das dann machen?

    Erstma en paar Einzelheiten die ich bis jetzt so hab bzw. wie ich mir des vorstelle

    Mir ist das alles zuviel unsortiertes Geschreibsel. Wenn Du lustig bist, dann kannst Du ja mal meinen Mini-Webhop studieren. Den habe ich auch für unsere Schulwebsite entwickelt, wenn wir in Zukunft darüber ein paar Artikel vertreiben wollen.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  6. Ich muss für die Schule eine Homepage erstellen, die Homepage soll ein Shop beinhalten

    Aus Interessensgründen:

    Welche Schule ist das?
    Warum sollst du das umsetzen (normaler Lehrstoff?)
    In welchem Zeitraum sollst du das umsetzen?
    Sollst du das alleine umsetzen?
    Was wurde dir zuvor in der Schule beigebracht?

    1. »» Ich muss für die Schule eine Homepage erstellen, die Homepage soll ein Shop beinhalten

      Aus Interessensgründen:

      Welche Schule ist das?
      Warum sollst du das umsetzen (normaler Lehrstoff?)
      In welchem Zeitraum sollst du das umsetzen?
      Sollst du das alleine umsetzen?
      Was wurde dir zuvor in der Schule beigebracht?

      Eine Wirtschaftsschule mit Informatik

      Es gehört mehr zu Homepage Desing aber als zusatz der ganze fätzzz

      11 Juni

      Wir haben Teams zugeordnet bekommen doch mein partner kennt sich net ma mit html aus

      Wir haben html gemacht (sehr ausführlich) danach haben wir ein Projekt gemacht also normale homepage erstellen ohne sonderheiten, dannach php aber nur die schleifen und auswahlstrukturen und wie man werte von html (also <form> zeugs) an php übergibt

      dann halt noch sql also des datenbankszeug hab ich schon gur drauf des is net so mein problem mir fehlt nur so die grundkenntnis wie ich so ein warenkorb programmiere habe mir jetzt auch noch verstärkt gedanken darüber und hab jetzt auch schon ne vorahnung

      ich wollte des erst mit java machen (applets) aber des dürfen mir net sonst hätte ich keine probleme

  7. Hello,

    wenn Du das noch abwenden kannst, mit M$-Access-Datenbank arbeiten zu müssen, dann tu's.
    Nimm stattdessen lieber MySQL mit InnoDB als Maschine.

    Die Integration von PHP und MySQL ist wesentlich besser und der Funktionsumfang auch.

    Wenn Du das geschafft hast, besorgst Du Dir einen XAMPP für Deine WinDOSE (nehme ich an?).

    Du fängst dann am besten damit an, die Create-Statements für die Datenbank und ihre Tabellen aufzubauen. Die kannst Du solange in der Konsole üben, bis die Sysntax stimmt und die Tabellen zusammenpassen.

    Wenn Du bis hier gekommen bist, meldest Du dich wieder :-)

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hallo Tom,

      Du fängst dann am besten damit an, die Create-Statements für die Datenbank und ihre Tabellen aufzubauen. Die kannst Du solange in der Konsole üben, bis die Sysntax stimmt und die Tabellen zusammenpassen.

      bei dem skizzierten Umfang, der mir - wie suit - suspekt ist, klickte ich die Tabellen im MySQL-Query-Browser zusammen und ließe mir die CREATE-Statements ausgeben. Vielleicht ist dies der Grund für Access, damit man die DB-Erstellung sowie die Bestückung über zusammengeklickte Formulare erledigen kann.

      Für ein Schulprojekt kommen mir 80% der Featuretipps in diesem Thread überflüssig vor.

      Freundliche Grüße

      Vinzenz

      1. Hello Vinzenz,

        Du fängst dann am besten damit an, die Create-Statements für die Datenbank und ihre Tabellen aufzubauen. Die kannst Du solange in der Konsole üben, bis die Sysntax stimmt und die Tabellen zusammenpassen.

        bei dem skizzierten Umfang, der mir - wie suit - suspekt ist, klickte ich die Tabellen im MySQL-Query-Browser zusammen und ließe mir die CREATE-Statements ausgeben. Vielleicht ist dies der Grund für Access, damit man die DB-Erstellung sowie die Bestückung über zusammengeklickte Formulare erledigen kann.

        Das könnte sein. MySQL-Query-Browser ist natürlich auch eine gute Idee, wenn man schon damit umgehen kann.

        Was hältst Du denn von der Benutzung von Access für ein Schülerprojekt?

        Ich musste damit mal eine größere Applikation zusammenbauen und bin fast verzweifelt.
        Mit MySQL (damals noch mit MyISAM, also ohne refenzielle Integrität...) war es hingegen ganz einfach, natürlich beides bezogen auf die Verwendung zusammen mit PHP.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
    2. Ja es Funktioniert soweit

      und weiter

      danke noch ma für die hilfe

      1. Hello,

        und wie lauten die Create-Statements für die Datenbank und die Tabellen?

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de