PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zuweisung textfeld zu checkbox!


powerbulls
20.03.2004, 13:05:20
Mein erstes Posting und gleich so lange, naja...:-)!

Folgendes Problem: ich habe ein Script, was mir aus einer Textdatei Daten ausliest. In dieser Textdatei liegen die Daten wie folgt vor:

ID|URL|date|time (nur beispielhaft)
ID2|URL2|date2|time2
ID3|URL3|date3|time3

Die Auflistung erfolgt so:

checkbox feld 1 wird "name" zugewiesen der ID, also name="$line[0]".
dann folgt feld "text", diesem wird value="$line[1]" zugewiesen und vorerst(!) name="URL". Belassen wir es mal bei diesen zwei Angaben, natürlich folgt noch textfeld 2 und 3. Und das ganze dann für alle Zeilen der textdatei.

Was soll das ganze? Man kann nun in dieser Auflistung vorne anklicken und dann die Textfelder editieren, bis hier mal ganz logisch. Jetzt sende ich das Form ab und natürlich sendet er für die textfelder URL das ganze wir folgt.
1. zeile: $url=URL, dann 2. Zeile $url=URL2, und dann 3. Zeile $url=URL3, und überschreibt damit immer die vorherigen URLs. Dann gehts weiter mit einer aufforderung zu überschreiben in das textfile, und zwar liest er wiederum die textdatei ein, weist
$code= $exp_line[0] zu und schaut nun über dne code
if ($$code == "on") ob die checkbox aktiviert ist, wenn ja schreibt er die Zeile neu mit fputs ($xy,"$code|$url|...n");. Und hier liegt jetzt logischerweise ein Problem, denn ist nur eine checkbox aktiviert,s chreibt er die Zeile richtig, sind aber mehrere aktiviert, schreibt er natürlich zwar für jedes die Zeile, aber die URL ist dann bei allen gleich.

UND NUN? Problem erkannt, problem gebannt, ich habe nun einfach weiter Variabeln eingebaut, und zwar wird im Formular den Textfelder folgendes zugewiesen, Textfeld 1 bekommt den namen $zähler, wobei $zähler=1 und sich bei jedem Schleifenlauf um 1 erhöht $zähler++;. Textfeld 2 wird zugewiesen $zähler2=100000 (dann so weiter für die anderen textfelder, immer erhäht die $tempx um 5 Nuller) und auch hier erhöht sich im Schleifendurchlauf der Wert um 1, also wird nun jedem Textfeld eine eindeutige zahl zugewiesen bei bis zu 99999 Zeilen in der Textfile. Dieses kann ich nun eindeutig übergeben, mache beim Schreiben der Datei einfach nochmal die Variable $temp=1,$temp1=10000 ..., erhöhe diese beim Schleifenlauf um 1, frage $$$tempx ab und kann nun die Zeilen einwandfrei zugeordnet richtig schreiben.

Und jetzt die eigentliche Frage: geht das einfacher, kann ich ein Textfeld der Checkbox eindeutig vorne zuweisen und das ganze eindeutig übergeben ohne mit variablen um mich zu schmeissen?

Danke im Vorraus und nochmal entschuldigung wegen dem langen Text, aber ich wollte es direkt klar erklären!

Torben

xabbuh
20.03.2004, 14:03:49
Behandele die Checkboxen und Textfelder doch einfach als Arrays. Also nicht name="URL" sondern name="URL[]". Dann wird die Variable auch nicht überschrieben.

powerbulls
20.03.2004, 14:58:25
Und schon wieder was gelernt, warum umständlich, wenns auch einfach geht, danke, danke!

Funzt einwandfrei und ich habe auch diese "Option" jetzt verstanden!

Torben