php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-10-2008, 20:59
Peter_Panther
 Registrierter Benutzer
Links : Onlinestatus : Peter_Panther ist offline
Registriert seit: Jul 2004
Beiträge: 126
Peter_Panther ist zur Zeit noch ein unbeschriebenes Blatt
Standard 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!
Mit Zitat antworten
  #2 (permalink)  
Alt 02-10-2008, 21:26
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: dynamische Tabelle

Zitat:
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.
Mit Zitat antworten
  #3 (permalink)  
Alt 03-10-2008, 10:29
Peter_Panther
 Registrierter Benutzer
Links : Onlinestatus : Peter_Panther ist offline
Registriert seit: Jul 2004
Beiträge: 126
Peter_Panther ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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!
Mit Zitat antworten
  #4 (permalink)  
Alt 03-10-2008, 11:10
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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.
Mit Zitat antworten
  #5 (permalink)  
Alt 03-10-2008, 12:14
Peter_Panther
 Registrierter Benutzer
Links : Onlinestatus : Peter_Panther ist offline
Registriert seit: Jul 2004
Beiträge: 126
Peter_Panther ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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!
Mit Zitat antworten
  #6 (permalink)  
Alt 03-10-2008, 12:23
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

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.

Geändert von unset (03-10-2008 um 12:26 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:02 Uhr.