Theaterkarten kaufen Script, hänge fest!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Theaterkarten kaufen Script, hänge fest!

    Hi,
    also im Grunde genommen möchte ich ein Script machen, wo man online z.B. Teaterkarten kaufen kann.

    Aufbau:
    Ich habe eine Seite namens "Spielplan", dort werden die einzelnen Stücke mit ihrem Datum aus der Datenbank "Stuecke" eingelesen und angezeigt. Hintendran kann man dann auf "Karte bestellen" klicken.
    Nun kommt man auf eine neue Seite, wo ich mit Flash einen Sitzplan des Theater anzeigen lasse. Zu jedem Stück soll dann direkt ausgelesen werden welche Sitze noch frei sind und welche besetzt. Desswegen habe ich eine Datenbank namens "Sitze" wo von jedem Sitz gespeichert wird:
    Block, Reihe, Platz, Preis, Status(frei, besetzt, in Arbeit)

    Problem:
    Mir ist nun aufgefallen, dass das so nicht ganz funktionieren wird, da ich ja für jedes Stück immer wieder die ganze Datenbank "Sitze" brauchen werde, da ich ja für jedes Stück jeden einzelnen Sitz definieren muss ob er besetzt ist oder frei. Oder ich müsste in die Datenbank "Sitze" noch eine Spalte "Stueck" aufnehmen. Aber auch dann bräuchte ich für jedes Stück immer alle Einträge für einen gewissen Platz.

    Frage:
    Wo habe ich nun meinen Denkfehler, oder wie lässt sich das am besten realisieren? Ich kann ja nicht für jedes Stück eine neue DB erstellen, die im Grunde immer gleich der "Sitze" DB ist?!?
    Flashtuts - Flash Tutorials und Downloads für alle Versionen
    psdtuts - Photoshop Tutorials, Galerie, Battles

  • #2
    Re: Theaterkarten kaufen Script, hänge fest!
    1. das, was du als datenbank bezeichnest sind tabellen in einer datenbank
    2. du hast eine tabelle mit stücken, eine mit sitzen und jeder sitz kann in jedem stück genau einmal vergeben werden?
      was spricht denn dagegen, einfach noch eine dritte tabelle zwischenreinzubasteln, in der du stueck_id und sitz_id speicherst?
      am besten beides zusammen als primärschlüssel definieren, dann vergibst du auch auf keinen fall plätze doppelt
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Stueck_ID ist klar was du damit meinst: Die gleiche ID, die ein Stück in der "Stueck" Tabelle hat.
      Aber was ist mit Sitz_ID? Wofür nimmst du die?
      Flashtuts - Flash Tutorials und Downloads für alle Versionen
      psdtuts - Photoshop Tutorials, Galerie, Battles

      Kommentar


      • #4
        Original geschrieben von konSumi
        Aber was ist mit Sitz_ID? Wofür nimmst du die?
        Aus der Tabelle "sitze"?

        Ich will ja schließlich wissen, auf welchem Sitz (identifiziert über sitz_id) in welchem stück (identifiziert über stueck_id) schon jemand sitzt
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          und dann würdest du in dieser dritten Tabelle den Status eintragen? (also besetzt, frei, in Bearbeitung)

          Aber wenn ich dann nun richtig verstehe, würde ja bei einem Theater mit 300 Plätzen und 5 Stücken.
          a) Die Tabelle "Stuecke" 5 Einträge haben
          b) Die Tabelle "Sitze" 300 Einträge haben
          c) Die dritte Tabelle 5*300=1500 Einträge haben << bisschen viel finde ich?!
          Flashtuts - Flash Tutorials und Downloads für alle Versionen
          psdtuts - Photoshop Tutorials, Galerie, Battles

          Kommentar


          • #6
            Original geschrieben von konSumi
            und dann würdest du in dieser dritten Tabelle den Status eintragen? (also besetzt, frei, in Bearbeitung)
            nein

            Aber wenn ich dann nun richtig verstehe, würde ja bei einem Theater mit 300 Plätzen und 5 Stücken.
            a) Die Tabelle "Stuecke" 5 Einträge haben
            b) Die Tabelle "Sitze" 300 Einträge haben
            c) Die dritte Tabelle 5*300=1500 Einträge haben << bisschen viel finde ich?!
            1.500 einträge sind 1. nicht viel und 2. das maximum bei deinen beispieldaten

            besetzte sitze in einem stück sind in dieser neuen tabelle
            freie sitze in einem stück stehen nicht in dieser neuen tabelle
            was du mit "in Bearbeitung" meinst verstehe ich nicht so ganz, ist der sitz dann weder besetzt noch frei oder beides?

            abfragen kannst du das übrigens ganz komfortabel mit JOINs, da bekommst du mit einem SELECT eine übersicht alle sitze pro stück oder für alle stücke und hintendran ein vermerk, ob der sitz da noch frei ist oder nicht

            speicherst du eigentlich irgendwo das datum der vorstellung? wäre ja eventuell ganz hilfreich oder?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Ja das Datum steht mit dem Stücknamen, Infos zum Stück und einem Hinweistext in der Tabelle "Stuecke"
              In Bearbeitung soll heissen: Sobald jemand das Formular abschickt und es an das Theater geht ist der Platz in Bearbeitung. Man kann also nicht den Platz nochmal buchen. Das Theater stellt den Status dann auf besetzt. So wird eine doppelvergabe verhindert, wenn 2 Leute etwa gleichzeitig diesen Platzt haben wollten
              Flashtuts - Flash Tutorials und Downloads für alle Versionen
              psdtuts - Photoshop Tutorials, Galerie, Battles

              Kommentar


              • #8
                Original geschrieben von konSumi
                Ja das Datum steht mit dem Stücknamen, Infos zum Stück und einem Hinweistext in der Tabelle "Stuecke"
                das heißt, wenn du sitz #5 für stück #4 reserviert hast und willst am 15.10.2004 reingehen, dann kann ich sitz #5 für stück #4 für die vorstellung am 27.10.2004 nicht mehr reservieren


                In Bearbeitung soll heissen: Sobald jemand das Formular abschickt und es an das Theater geht ist der Platz in Bearbeitung. Man kann also nicht den Platz nochmal buchen. Das Theater stellt den Status dann auf besetzt. So wird eine doppelvergabe verhindert, wenn 2 Leute etwa gleichzeitig diesen Platzt haben wollten
                dann erweitere die neue tabelle um eine weitere spalte, die festhält, ob der platz definitiv weg ist, je nachdem woran du das festmachst
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  das heißt, wenn du sitz #5 für stück #4 reserviert hast und willst am 15.10.2004 reingehen, dann kann ich sitz #5 für stück #4 für die vorstellung am 27.10.2004 nicht mehr reservieren
                  irgendwie kann ich dir da nicht so ganz folgen. Ich glaube wir haben beide einen Unterschiedlichen Ablauf der Aktionen im Kopf, die nacheinander passieren.

                  Kannst du mir mal schreiben, wie du dir vorstellst, wie alles nacheinander abläuft. So nach dem Motto: Platz wird reserviert>Eintrag in der neuen Tabelle>Zeile Status wird auf "In Bearbeitung" gesetzt...

                  Melde mich dann später nochmal bin nun mal für ne Stunde wesch
                  Flashtuts - Flash Tutorials und Downloads für alle Versionen
                  psdtuts - Photoshop Tutorials, Galerie, Battles

                  Kommentar


                  • #10
                    Original geschrieben von konSumi
                    irgendwie kann ich dir da nicht so ganz folgen. Ich glaube wir haben beide einen Unterschiedlichen Ablauf der Aktionen im Kopf, die nacheinander passieren.
                    möglich ist das

                    Kannst du mir mal schreiben, wie du dir vorstellst, wie alles nacheinander abläuft. So nach dem Motto: Platz wird reserviert>Eintrag in der neuen Tabelle>Zeile Status wird auf "In Bearbeitung" gesetzt...
                    können ja, aber du willst ja auch selbst in deinem hirn stürmen oder?

                    Melde mich dann später nochmal bin nun mal für ne Stunde wesch
                    man stelle sich vor, sogar ich habe was zu tun

                    überelg dir einfach welche daten du speicherst und welche daten zu einem stück gehören, welche zu einem sitz gehören, welche zu einer vorstellung (stück an einem bestimmten datum/uhrzeit)
                    wenn du das hast, dann weißt du ja im prinzip auch schon, was du wo speichern solltest
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Jetzt verstehe ich was du mit einer Vorstellung meinst. Wenn ein Stück öfter als einmal gespielt wird.

                      In dem Theater, dass ich im mom im Sinn hatte, gibt es ein Programm, worin ein Stück immer nur einmal gespielt wird.

                      Aber du hast natürlich recht, bei einem größeren Theater werden gleiche Stücke öfter gespielt
                      Flashtuts - Flash Tutorials und Downloads für alle Versionen
                      psdtuts - Photoshop Tutorials, Galerie, Battles

                      Kommentar


                      • #12
                        wenn das stück nur einmal gespielt wird, dann is ja gut, andererseits könntest du ja die eventualität einer wiederholten aufführung gleich von vorneherein berücksichtigen, ist ja nicht wirklich viel aufwändiger
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          Ok das habe ich verstanden.
                          Dann hätte ich für die Tabelle Stuecke:
                          Stueckname, Infos zum Stueck, Bild1, Bild2, Hinweistext

                          und für eine Vorstellung:
                          Datum, Stueck_ID

                          Aber mit was ich immer noch nicht klarkomme sind die einzelnen Sitze und deren Status in einer Vorstellung.

                          Ich meine:
                          Ein Sitz hat ja einen Block, eine Reihe und eine Platznummer. Nun hat aber ein Sitz in jeder Vorstellung (oder in jedem Stueck) einen anderen Preis. Und wo ich den Status reinpacke weiss ich auch noch nicht.

                          Also wir kommen dem Ziel schon näher, aber ich bin immer noch ein wenig ratlos...

                          (Erstmal thx dass du dir soviel Zeit für mein Problem nimmst)
                          Flashtuts - Flash Tutorials und Downloads für alle Versionen
                          psdtuts - Photoshop Tutorials, Galerie, Battles

                          Kommentar


                          • #14
                            sitz(sitz_id, block, reihe, sitznummer)

                            stueck(stueck_id, infotext, bild_1, bild_2, hinweistext)

                            vorstellung(vorstellung_id, [color=blue]stueck_id[/color], datum)

                            stueck_preis([color=blue]stueck_id[/color], block, preis)

                            vorstellung_sitz([color=blue]vorstellung_id[/color], [color=blue]sitz_id[/color], status)

                            mal aus der hüfte geschossen, also ohne garantie auf vollständigkeit, scheint mir aber auf den ersten blick ganz logisch

                            das model geht davon aus, dass alle sitze in einem block bei einem stueck gleich viel kosten

                            unterstrichen: primärschlüssel
                            [color=blue]blau[/color]: fremdschlüssel
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              Crass!
                              Also bei Stueck kommt noch der Stueckname dazu, aber kein Prob. Hast ja geschrieben. Ich habe es auch verstanden wie du es aufbaust, echt total ausgeklügelt Nur habe ich wohl gerade gemerkt, dass ich mir unbedingt anschauen muss wofür die Schlüssel da sind, und wie man von einer DB auf eine andere zugreift. Geht das mit dem von dir angesprochenen JOIN?
                              Flashtuts - Flash Tutorials und Downloads für alle Versionen
                              psdtuts - Photoshop Tutorials, Galerie, Battles

                              Kommentar

                              Lädt...
                              X