Veranstaltungsplaner

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

  • Veranstaltungsplaner

    Hallo,

    bin momentan dabei ne Neue Funtkion für meine Software zu basteln.

    Ich schreib am besten erstmal wie es momentan aussieht:

    Momentan kann man mit der Software verschiedene Auswertungen machen und Statistiken generieren von Mitarbeitern.

    Die Datenbanktabelle der Mitarbeiter sieht momentan so aus:

    Felder: id, betrieb, funktion, kstelle, nachname, vorname, schule, azeit, stunden, fschein

    So und jetzt möchte ich das ganze um so eine Art veranstaltungsplaner erweitern.

    Das ganze soll so funktionieren. Man legt eine Veranstaltung an und gibt die mitarbeiterarten und die Anzahl der benötigeten Mitarbeiter an. Dann soll mir das System die Mitarbeiter anzeigen die an dem Tag noch keine Veranstaltung haben. laso ich muss einfach nur die Datenbank durchsuchen grob gesagt.

    So jetzt zu meinen ersten Problem. und zwar den Aufbau der Datenbank.

    Soll ich eine Tabelle anlegen in die so in der art aussieht?

    id, veranstaltungsname, dauer, mitarbeiter id

    Und dann pro Veranstaltung und pro Mitarbeiter je Veranstlung jeweils einen eintrag in die DB hauen. funktioniert das so? Ist das performancemässig so ok?

    Später wenn das leuft soll es auch Möglich sein für jeden Mitarbeiter einen Kalender zu genieriern mit seinen Terminen. Aber das ist ja erstmal egal jetzt

  • #2
    Re: Veranstaltungsplaner

    Original geschrieben von zerberos
    Und dann pro Veranstaltung und pro Mitarbeiter je Veranstlung jeweils einen eintrag in die DB hauen. funktioniert das so? Ist das performancemässig so ok?
    jo, wäre eine Möglichkeit. Wenn du nicht alles mit JOINSs selectierst, bleibt das auch performant ^^

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      ok. hab jetzt mal verushct die datenbank zu planen. was haltet ihr davon?

      Tabelle Mitarbeiter (vorhanden)

      - mid
      - betrieb
      - kstelle
      - nachname
      - vorname
      - schule
      - azeit
      - stunden
      - fschein

      Tabelle veranstaltung

      - vid
      - veranstaltungsart
      - start
      - ende

      Tabelle mv-verknuepfung

      - id
      - mid
      - vid

      Kommentar


      • #4
        das fehlt ist folgendes bei jeder halbwegs guten DB:

        - statt einfach einen datensatz zu löschen ist es sinnvoller nur ein löschkennzeichen zu setzen, damit die beziehungen im extremfall nicht zerstört werden und man alles retten kann!

        - vor jedem feld mit einen zeichen den datentyp angeben:
        für Datum -> d
        für Strings -> s
        für Zahlen -> n
        als vorschlag

        - und noch felder für: wer hat es gelöscht/wann | wer hat es geändert/wann usw. sind hilfreiche informationen

        mfg
        ThaDafinser

        Kommentar


        • #5
          Original geschrieben von ThaDafinser
          - statt einfach einen datensatz zu löschen ist es sinnvoller nur ein löschkennzeichen zu setzen, damit die beziehungen im extremfall nicht zerstört werden und man alles retten kann!
          Da wären tägliche Backups bestimmt besser, die sichern nicht nur vor solchen Sachen sondern auch vor Datenverlust und man kann sich die zusätzliche Spalte sparen (auch wenn das jetzt nicht der Bruch wäre..)

          - vor jedem feld mit einen zeichen den datentyp angeben:
          für Datum -> d
          für Strings -> s
          für Zahlen -> n
          als vorschlag
          Also ich finde die Konvention nicht gut, weder in C++ habe ich es benutzt, noch nutze ich es in php und in Datenbanken erst recht nicht Oo,
          Das ist mir irgendwie zuwieder :/

          - und noch felder für: wer hat es gelöscht/wann | wer hat es geändert/wann usw. sind hilfreiche informationen
          Die man dann aber besser in einer separaten Tabelle speichert um nicht jedem Datensatz eine zusätzliche (ggf. leere) Spalte mitzugeben, die unter Umständen nie für diesen Datensatz gebraucht wird

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            naja...

            mit den kürzel d z.B. erspart man sich das wort datum schon

            das mit den backup's ist doch klar...^^

            aber zusätzlich ist es fein, da man einen datensatz sehr einfach wiederherstellen kann, ohne backup's zu durchsuchen oder reinzuspielen

            Kommentar


            • #7
              hallo,

              die mitarbeiter tabelle hab ich so gelassen, da dor nicht mehr daten benötigt werden.

              Die Veranstaltungstabelle hab ich um ein paar Spalten erhöht

              Tabelle veranstaltung
              - vid
              - veranstaltungsname
              - veranstaltungsart
              - veranstaltungsort
              - veranstaltungsleitung
              - start-tag
              - start-zeit
              - ende-tag
              - ende-zeit

              So jetzt kommt die Programmierung dran.

              Vorgehensweise hab ich mir so gedacht.
              Erstmal erstelle ich das Formular wo die Daten zu Veranstaltunge ingetragen werden. Das ist ja auch nicht das Problem.

              Was ich momentan noch nicht weiß ist wie ich das mit den Mitarbeitern bei einer Veranstaltung lösen soll. Ich will das ja so machen das ich angeben kann ich wil 4 mitarbeiter vom typ x und 5 mitarbeiter vom typ y. Und dann soll der mir die anzeigen die in dem Zeitraum zur Verfügung stehen und das ich dann auswähle welche ich davon zur Veranstaltung "buche"

              Kommentar


              • #8
                Original geschrieben von ThaDafinser
                - vor jedem feld mit einen zeichen den datentyp angeben:
                für Datum -> d
                für Strings -> s
                für Zahlen -> n
                als vorschlag
                finde ich auch nicht gut, was hilft es mir wenn ich weiss, dass das "foobar_n" eine zahl ist, schließlich gibts da ja mehrere types (integer, tinyint, float, ...)

                ich selbst setze immer den tabellenname 'tab_field', sollte selbsterklärend sein.
                MfG
                aim
                Lies mich jetzt!
                - OT-Tags-Liebhaber und BB-Code-Einrücker -

                Kommentar


                • #9
                  Original geschrieben von aimbot
                  ich selbst setze immer den tabellenname 'tab_field', sollte selbsterklärend sein.

                  Da tippst du dich ja dusselig in deinen Skripten...

                  Wenn ich eine Tabelle kreiere
                  Code:
                  CREATE TABLE `test2` (
                  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
                  `Titel` VARCHAR( 255 ) NOT NULL ,
                  `Inhalt` TEXT NOT NULL ,
                  `create_Datum` DATETIME NOT NULL ,
                  `change_Datum` DATETIME NOT NULL
                  ) TYPE = MYISAM ;
                  Dann weiß ich doch wohl, dass id ein int ist, ob es ein tiny/normal/big int ist, kann mir in dem Falle doch total egal sein. Titel ist entweder varchar oder Text, was genau kann mir auch egal sein, create_Datum, wenn man davon ausgeht, dass man immer DATETIME braucht, was in fast allen Fällen der Fall ist (die Benutzung von DATE/TIME alleine ist eigentlich eher selten), dann ist doch im Spaltennamen schon drin, was für einen Typ die Tabelle hat ... wozu soll ich da noch jedes Mal den Typen hinschreiben?
                  Ich sehe da wirklich nur die Verschwendung von Zeichen ... das muss man ja auch alles tippen und für gewöhnlich sind Queries, durch das Einschieben von escape-Funktionen und generell von Variablen sowieso reichlich lang, da freue ich mich doch wenn ich mir bei jedem fieldnamen ein paar Zeichen (3-7 oder mehr, ich guck jetzt nicht nach) sparen kann :/

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar


                  • #10
                    Original geschrieben von ghostgambler

                    Da tippst du dich ja dusselig in deinen Skripten...
                    teilweise schon, find ich persönlich aber übersichtlicher *fg* jaja ich hab teilweise komische angewohnheiten
                    MfG
                    aim
                    Lies mich jetzt!
                    - OT-Tags-Liebhaber und BB-Code-Einrücker -

                    Kommentar


                    • #11
                      Hallo,

                      so bin mal dazu gekommen etwas weiterzuarbeiten

                      Hab jetzt schonmal ein kleines frontend gebastelt

                      http://www.sebastian-leppert.de/vera...nstaltung1.php

                      Dort gibt man Startdatum, Enddatum und Anzahl der Mitarbeiter erzeugt

                      Wenn man auf weiter klickt erscheint die Seite wo man die Mitarbeiter auswählen kann

                      Links kann man die Funktion auswählen und rechts den Mitarbeiternamen

                      Jetzt mein Problem. Wenn ich Links eine Funktion auswähle, wie bekomme ich das hin, das der mir auf der rechten Seite nur die Mitarbeiter mit dieser Funktion zur Auswahl stellt.

                      Die Mitarbeiter stehen mit Funktion in einer SQL Datenbank

                      mitarbeiter
                      --------------
                      name
                      funktion
                      wohnort
                      kostenstelle
                      usw.....


                      Hab da momentan keinen Ansatz wie ich das hinbekomme...

                      Quelltest der Auswahlseite bis jetzt:
                      http://www.sebastian-leppert.de/vera...staltung2.phps
                      Zuletzt geändert von zerberos; 04.10.2006, 11:27.

                      Kommentar


                      • #12
                        - start-tag
                        - start-zeit
                        - ende-tag
                        - ende-zeit
                        ist doch eigentlich unnötig. ich arbeite bei solchen geschichten immer mit dem timestamp. schon alleine, weil ich den immer schnell so umwandeln kann, wie ich es gerade brauche... dann reicht dir:

                        - start
                        - ende

                        und spart wieder zwei flags...
                        **********
                        arkos
                        **********

                        Kommentar


                        • #13
                          Jetzt mein Problem. Wenn ich Links eine Funktion auswähle, wie bekomme ich das hin, das der mir auf der rechten Seite nur die Mitarbeiter mit dieser Funktion zur Auswahl stellt.

                          Die Mitarbeiter stehen mit Funktion in einer SQL Datenbank
                          da wirst du so wie es aktuell aufgebaut ist nicht um javascript rumkommen

                          oder du läüsst die funktion erst auf der nächsten seite passend zum mitarbeiter auswählen.

                          mfG

                          EDIT:
                          ma quote eingefügt um den zusammenhand nicht zu verlieren

                          Kommentar


                          • #14
                            Original geschrieben von Trashar
                            da wirst du so wie es aktuell aufgebaut ist nicht um javascript rumkommen

                            oder du läüsst die funktion erst auf der nächsten seite passend zum mitarbeiter auswählen.

                            mfG

                            EDIT:
                            ma quote eingefügt um den zusammenhand nicht zu verlieren
                            ums beim namen zu nennen, würd ich direkt auf AJAX setzen...


                            edit: noch kann man bei dir ein enddatum wählen, das vor dem startdatum liegt
                            Zuletzt geändert von arkos; 04.10.2006, 13:04.
                            **********
                            arkos
                            **********

                            Kommentar


                            • #15
                              ja das mit dem datum hat sich eh schon geändert. das was ich da gepostet habe war nicht die neuste version aber für meine Frage ausreichend.

                              1) Was ist AJAX. Hab ich bis jetzt noch nie was von gehört
                              2) Gibt es Tutorials, Bücher dazu?
                              3) Ist das wirklich die einfachste Möglichkeit mit AJAX?

                              Kommentar

                              Lädt...
                              X