dynamische Tabelle

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

  • dynamische Tabelle

    Für eine Webapplikation soll ein flexibles Formular entstehen, die Namen der Eingabefelder (die dabei entstehen) werden vom User definiert. Da man das Verhalten des Users schlecht beeinflussen kann, die Daten der Eingabefelder aber hinterher in eine Datenbank muessen, suche ich nach einer Moeglichkeit so ein Vorhaben zu realisieren.

    Die betroffene Tabelle in der Datenbank muesste ja dann quasi um gewisse Felder erweitert werden etc.

    Was mir zunaechst einmal eingefallen ist, waere die Speicherung in ein XML-Dokument.
    Dort kann man ja ziemlich einfach an definierte Knoten noch Elemente hinzufuegen.

    Wichtig ist eventuell noch, es gibt eine feste Anzahl an Formularfeldern, die koennen weder veraendert werden noch unausgefuellt bleiben.


    Vielen Dank!
    Niveau sieht nur von unten aus wie Arroganz!

  • #2
    Re: dynamische Tabelle

    Original geschrieben von Peter_Panther
    Für eine Webapplikation soll ein flexibles Formular entstehen, die Namen der Eingabefelder (die dabei entstehen) werden vom User definiert. Da man das Verhalten des Users schlecht beeinflussen kann, die Daten der Eingabefelder aber hinterher in eine Datenbank muessen, suche ich nach einer Moeglichkeit so ein Vorhaben zu realisieren.
    Nichts ist einfacher als das. Du hast bestimmt eine User Tabelle. Erweitere um eine Tabelle namens UserField, darin soll folgende Spalten definiert sein:

    - rowID
    - userId (=userId von dem Besitzer/Creator dieses neuen Feldes)
    - fieldDescription

    dann eine Tabelle UserValue um die Werte zu speichern,

    - rowId
    - fieldRowId (= rowId von UserFiled)
    - enteredUserId (=userId von der Person, die die Daten eingeben)
    - fieldValue

    That's it.

    Um verschiedene Datentypen aufnehmen zu können, könntest du die UserField um die Spalte dataType erweitern und mehrere UserValue Tabelle anlegen, z.B. UserValueVarchar, UserValueInt, ... etc.

    Kommentar


    • #3
      Vielen Dank fuer deine Antwort.

      Das Problem dabei ist, ich habe eigentlich keine Usertabelle, diese anzulegen wird aber wahrscheinlich kein Problem sein.

      Jetzt habe ich zwar die individuelle Zuordnung der "neuen, benutzerdefinierten" Eingabefelder, allerdings fehlt jetzt der Bezug zu den fest vorgeschrieben Feldern.

      Ich habe eine Tabelle mit definierten Spalten, welche alle ausgefuellt werden muessen.

      Jetzt fuege ich die Userfield und Uservalue ein, damit erkenne ich welcher User welches Feld hinzugefuegt hat und was er eingegeben hat.

      Soll ich jetzt in der Tabelle mit den vorgeschrieben Spalten jetzt noch eine Spalte aufmachen, in der ich die IDs der zusaetzlichen Userfelder eingebe? Ich frage, weil es sich nicht sonderlich normalisiert anfuehlt ;-)
      Niveau sieht nur von unten aus wie Arroganz!

      Kommentar


      • #4
        Oh, ich dachte das sind 2 getrennte Sachen ... Nun, du musst schon näher erläutern - anhand eines Beispiel oder so, denn ich verstehe nicht ganz, was du willst. Fest vorgeschriebenen Felder bedeutet für mich, dass sie auch feste Bezeichnung haben, also warum lässt du denn zu, dass der User die Bezeichnung beliebig verfassen darf? Ich dachte anfangs, dass du völlig dynamische Felder brauchst, daher mein Vorschlag.

        Kommentar


        • #5
          Hi, okay. Hier ein Beispiel:

          Du bestellst eine Pizza. Du denkst dir: mhhh... lecker.

          Jetzt machst du dein Browser auf und füllst alle Felder die nach ISO-Standard fuer die Beschreibung von Pizza-Stuecken vorgeschrieben sind. Du moechtest aber, fuer deine eigene Auswertung/Statistik aber jetzt noch weitere Felder (beliebig) hinzufuegen. Diese benutzerdefinierten Felder muessen aber jetzt mit den vorgeschriebenen Feldern (ISO-Standard) verknuepft werden, so dass bei einer Suche nach deiner Pizza, diese benutzerdefinierten Felder mit ausgegeben werden.

          Ich glaube so ist es ungefaehr verstaendlich?
          Niveau sieht nur von unten aus wie Arroganz!

          Kommentar


          • #6
            Ersetze halt die Benutzertabelle in asp's Beschreibung durch die Tabelle in der die "fest vorgeschriebenen Felder" sind. Den Schubser in die richtige Richtung hat asp dir ja schon gegeben - ein bischen mitdenken muss man halt schon selbst

            Wobei das mit dem Datentyp eigentlich nicht nötig ist. Das wäre inner platform effect - Im Grunde checkst du jede Tabelle, ob sich dort Daten befinden, die für dich relevant sind.
            Zuletzt geändert von unset; 03.10.2008, 10:26.
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar

            Lädt...
            X