Seite 1 von 1
beliebig viele input feolder auswerten.. wie?
Verfasst: Fr 24.Mär, 2006 18:59
von bce
hallo.
habe ein skript (was es genau macht ist für die frage nicht abhängig) geschrieben mit dem man beliebig viele input-felder erzeugt.. in diese werden dann verschiedene werte eingetragen...
meine frage: wie kann man dynamisch ermitteln wieviele input-felder vorhanden sind.. die namen der input-felder werden zur laufzeit vergeben (nicht statisch festgelegt).
genauer: eine seite wird aufgebaut, auf der angenommen 20, 30, .... input-felder sind... dann wird in die felder was eingetragen.. zahlen, text, egal... zum schluss klickt man auf ok/speichern...
die werte der input-felder sollen nun in eine db gespeichert werden... wie soll ich das am besten realisieren?!
thx
Verfasst: Fr 24.Mär, 2006 19:44
von oxpus
Wie willst Du denn die Felder erzeugen?
Javascript? Ajax? PHP?
Verfasst: Sa 25.Mär, 2006 11:11
von bce
upps
arbeite mit php+mysql
input-felder sind dynamisch erstellt.. es geht mir ums auswerten der dynamischen erstellten felder...
Verfasst: Sa 25.Mär, 2006 11:43
von oxpus
Ja, womit sollen diese denn dynamisch erstellt werden?
PHP = Seitenreload?
Javascript / Ajax = Auf Knopfdruck?
Verfasst: Sa 25.Mär, 2006 13:27
von bce
ist alles php..
also mit dynamisch meine ich, das die saisons die ausgewertet werden sollen nicht bekannt sind.. kommt jedes jahr eine hinzu...
funktion des skriptes:
1. spieler auswählen
2. daten aus db auslesen die zum spieler gehören
.. nun können werte verändert werden
3. die werte in db speichern
nur wie ermittle ich bei 3. die felder.. weil ja die anzahl nicht bekannt ist (wegen anzahl saisons)
Verfasst: Di 28.Mär, 2006 18:37
von bce
danke dir für diese super ausführliche anleitung... werd nun mal los basteln
Verfasst: Di 25.Apr, 2006 16:41
von bce
hab nun alles hinbekommen...
nur um rechenaufwand zu sparen, würde ich nun gerne die input-felder ermitteln, die geändert wurden... damit im anschliessenden sql-update-befehl nur die felder enthalten sind, die geändert wurden... wie kann ich das am besten bewerkstellen? ¢¦
Verfasst: Di 25.Apr, 2006 16:44
von oxpus
Dabei würde der Prüfaufwand den Speichergewinn auffressen.
Es ist der Datenbank auch beinahe egal, ob EIN Datensatz aus einem oder sehr vielen Feldern besteht.
Geschrieben werden muss er sowieso beinahe komplett und bei Indizes auch diese mit.
Also: Lassen.
Spart eine Menge wirklich unnötiger Arbeit.
Verfasst: Di 25.Apr, 2006 17:50
von bce
ok..
alo.. sind momentan ca 70 felder die eingelesen werden.. kommen jedes jahr 2 neue hinzu...
na gut.. dann werd ich halt nen riesenlangen-sql-befehl generieren und auf die db loslassen...
ps: und was hatn da mit de m"ajax" auf sich?
Verfasst: Di 25.Apr, 2006 18:12
von oxpus
Öh, bei der Art von Speicherung wäre eine "gedrehte" Tabelle eher sinnvoll.
Also ein Master-Datensatz und die Details als Datensätze in eine neue Tabelle und nicht als Felder der gleichen speichern.
Wäre geschickter, würde ich mal sagen, zumal sich die Daten auch mit einer Abfrage aus der Datenbank holen lassen...
Verfasst: Mi 26.Apr, 2006 11:44
von bce
also ist es wurscht wie lange der sql-befehl letztlich wird?
Verfasst: Mi 26.Apr, 2006 13:09
von oxpus
Theoretisch ja, aber es sind Grenzen in der Tabellengrösse gesetzt.
Eine Tabelle darf im "kleinsten" Fall maximal 4 GB groß werden, die maximale Grösse unter MySQL liegt bei 64 GB und wird immer wieter "nach oben" geschraubt.
Je nach dem, welchen Datenbanktyp und welches Betriebssystem man einsetzt. Windows bis ME nur 2 GB grosse Files verwalten, NT bis XP über mehrere Terrabyte je File.
Man sollte aber dazu nicht über die eingestellte Anzahl Spalten je Datensatz hinausgehen, ersichtlich durch "max_rows" in den Datenbankparametern, um die Performance stabil zu halten.
Datenverluste gibt es bei Überschreitungen keine, allerdings kann die Datenbank dann wirklich spürbar langsamer werden.
Dennoch ist es immer ratsamer, bei dynamisch wachsenen Datensatzlängen nicht die Tabelle um neue Felder, sondern besser eine 2. Detailtabelle mit n Datensätzen zu verwenden.
Analog der Tabelle phpbb_config. Man kann diese beiden Datenbestände ja über eine eindeutige ID im Master verknüpfen und eben gemeinsam abfragen, um einen einzigen Datensatz für das Script zu erhalten...
Verfasst: Mi 26.Apr, 2006 16:28
von bce
danke dir für die ausgiebige antwort.
update-befehl mit 30 "parametern" funktioniert ruckzuck...
Verfasst: Mi 26.Apr, 2006 16:46
von oxpus
Ja, auch mit 30 wäre das nicht wirklich ein Problem, nur eben nicht gerade übersichtlich...
Verfasst: Mi 26.Apr, 2006 18:19
von bce
ok.. kommen jedes jahr nur 2 parameter hinzu.. dürfte also noch ewig funzen....
Verfasst: Mi 26.Apr, 2006 18:34
von oxpus
Ich hoffs für Dich.