Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

dynamische Tabelle manipulieren

Hallo, mal eine kurze Frage.
(Oracle 9i)

Die Tabelle um die es sich dreht hat 5 Spalten
Angenommen ich habe eine Datenbankabfrage die mir 20 Zeilen liefert.
(können aber auch nur 10 oder 100 Zeilen sein, also dynamisch)

Nun will ich folgendes:

So lange wie in dem FetchInto-Array noch Sätze stehen, soll jedes dieser einzeilen Felder pro Zeile in ein Eingabefeld geschrieben werden.
Das ganze soll mit html ordentlich strukturiert ausgegeben werden.

Bsp: erste Zeile 5 Eingabefelder,
zweite Zeile 5 Eingabefelder, etc

Sinn des Ganzen ist das ich einzelne Werte im Formular verändern kann,welche dann in der DB abgespeichert werden.

Genau da liegt das Problem!
Wie erkenne ich den in welcher Zeile der Benutzer was geändert hat?
Soll ich vor jede Zeile eine Checkbox schalten die man anclicken kann wenn man was änderet oder wie löst man so was?

Danke schon mal für eure Tips

Hier gehts zum Orginal Eintrag "dynamische Tabelle manipulieren" im Forum

Antworten

Es gibt dafür mehrere Möglichkeiten.

1) Du speicherst alle Werte in die DB, würd ich Dir aber nicht empfehlen ist ne große Belastung für die DB
2) du schaust nach einem JavaScript, dass ein Flag setzt wenn die Textbox einen Focus zugewiesen bekommt, dann kannst du anschließend danach überprüfen und diese Werte dann ändern
3) Du legst Dir einen Array an mit den ganzen Werten und vergleichst die dann, wobei sowas auch wieder speicher frisst.

am besten wird die 2. Lösung sein auch wenn sie den Nachteil hat das du JavaScript verwendern musst, geht halt dann nicht mehr so gescheit für Textbasierte Browser..

mir ist grad noch was eingefallen. Bennene die Felder auch dynamisch nach der Spalten in der DB, dann kannst du die auch ziemlich schnell wieder speichern !!!


Gruß
Vamp


2.

Angenommen ich löse das mit vorgeschalteten Checkboxes

1)wie kann ich diese denn nummerieren?

OCIFetchInto($sql_statement,$results,OCI_ASSOC)

Müsste doch dazu wissen wie viele Sätze im results-array enthalten sind.
count() funktioniert hier aber nicht.

lese das array ja mit while-Schleife aus. Wie kann man den mit dieser Schleifenart durchnummerieren?

Kann sein das es simple ist, aber ich komm nicht drauf.

2) wenn ich nun checkbox 27 anclicke zum ändern genau dieser Zeile, wie kann ich nach absetzen des Formulares rausbekommen das genau checkbox 27 per $_POST übergeben wurde?
weis nicht wie ich auf die nummer 27 dabei kommen soll


3.

wozu musst du wissen wie groß dein Recordset ist?

du meinst wegen der Schleife ?? kannst dir ja (ist das einfachste) in der Schleife wo du die Textfelder ausgibst nen Zaehler mit laufen lassen
while(beindung){
deine Anweisung
$zaehler+=1;
}
und dann hast du ja die Anzahl. kannst ja dann grad auf nem Hidden Feld unterbringen diese info !

seh in der Anzahl kein Problem

oder schau dir mal den Link an:
http://de3.php.net/manual/de/function.oci-collection-size.php

drüfte auch helfen :)
gibt bei dem Collectino Object eine Methode ->size()

;)

Greets Morti


Hier gehts zum Orginal Eintrag "dynamische Tabelle manipulieren" im Forum
 
phpforum.de | Impressum | Handy Bundles