Variable Anzahl von Eingabefeldern

Gesperrt
chricke
Beiträge: 11
Registriert: Sa 2. Aug 2003, 09:18
Kontaktdaten:

Variable Anzahl von Eingabefeldern

Beitrag von chricke » So 3. Aug 2003, 13:40

hallo leute,

ich versuche gerade ein modul zu schreiben bei dem vorher nicht bekannt ist wie viele eingabefelder im inputbereich gebraucht werden.
also habe ich das ganze dynamisch umgesetzt ( ungefähr so: CMS_VAR[$counter]) und das scheint auch soweit zu funktionieren.
das problem ist nun das ich die werte im output ja wieder auslesen muß.... ein Konstrukt wie "CMS_VALUE[$counter]" liefert aber den string "CMS_VALUE[$counter]" (sprich: wenn ich nicht direkt eine zahl eingebe wird der ausdruck nicht interpretiert) und nicht den wert den ich haben will.
kann mir jemand einen tipp geben wie ich das umgehen kann?

vielen dank schonmal.

christian

chricke
Beiträge: 11
Registriert: Sa 2. Aug 2003, 09:18
Kontaktdaten:

Beitrag von chricke » Mo 4. Aug 2003, 07:43

hier noch ein nachtrag:

$query = "SELECT * FROM ".$cfg["tab"]["upl"]." WHERE filetype = 'pdf' order by created";

$db->query($query);

while ($db->next_record()) {
//$knurpsel replaces old $filename
$knurpsel[$db->f("idupl")] = $db->f("filename");

} // end while

function d_checked($which) {
echo "which : $which"; // ausgabe string: "which : CMS_VALUE[..]" soll sein: "which : on" od. "which :"
if ($which != "") {
return "checked";
}
} // end function

echo "<table width=\"300\" cellspacing=\"1\" cellpadding=\"4\" border=\"0\" bgcolor=\"#000000\">
<tr bgcolor=\"#cccccc\" align=\"center\">
<td>Aktiv</td>
<td>Datei</td>
</tr>";


if (is_array($knurpsel)) {
$counter=1;
foreach ($knurpsel as $key => $value) {
echo "<tr bgcolor=\"#ffffff\" align=\"center\">
<td><input name=\"CMS_VAR[$counter]\" value=\"on\" type=\"checkbox\" ".d_checked("CMS_VALUE[$counter]")."></td>";
$counter++;
echo " <td><input name=\"CMS_VAR[$counter]\" type=\"hidden\" value=\"$key\">$value</td></tr>";
$counter++;
} // end foreach
} // end if

echo "<tr bgcolor=\"#ffffff\"><td>&nbsp;</td><td><input name=\"CMS_VAR[0]\" type=\"hidden\" value=\"$counter\"></td></tr>";

echo " </table>";

was mache ich falsch?

Sven777b
Beiträge: 503
Registriert: Mi 18. Sep 2002, 00:00
Wohnort: Sachsen
Kontaktdaten:

Beitrag von Sven777b » Mo 4. Aug 2003, 14:55

Tja ganz einfach - du versuchst Kühe zum fliegen zu bringen...
kurzantwort : impossible
begründung: die werte CMS_VAR[x] werden geparst bevor das ganze überhaupt ausgeführt wird. Geparst bedeutet, suchen&ersetzen - ergo kannst du CMS_VAR unter keinen umständen dynamisch abarbeiten.
Das einzige was du machen kannst wäre : du erstellst am Anfang des Output ein Mega-Array mit einer großen Anzahl von CMS_VARs

$cms_var[0] = "CMS_VAR[0]";
$cms_var[1] = "CMS_VAR[1]";
$cms_var[2] = "CMS_VAR[2]";
Module zum anschauen:
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net

Der-Dirigent: http://der-dirigent.de

chricke
Beiträge: 11
Registriert: Sa 2. Aug 2003, 09:18
Kontaktdaten:

Beitrag von chricke » Mo 4. Aug 2003, 15:18

nach einigen stunden forum surfen habe ich das leider auch schon gefunden. schade eigentlich. habe das jetzt auch so gelöst. gibt es eigentlich eine größenbegrenzung der module? brauche VIELE variablen ... :wink:
das bedeuted mit anderen worten das ein entwickeln komplexer module nicht möglich ist.
was hat es denn mit den plugins auf sich? funktioniert das schon?
kann man sowas damit umsetzen?

chricke
Beiträge: 11
Registriert: Sa 2. Aug 2003, 09:18
Kontaktdaten:

Beitrag von chricke » Mo 4. Aug 2003, 15:21

nachtrag:
die dynamische verwendung von CMS_VAR[..] geht übrigens.....
nur das auslesen der werte per CMS_VALUE[..] funktioniert so nicht.....
sprich: der quellcode oben funktioniert und macht was er soll
halt bis auf das setzen der richtigen werte für die checkboxen.....

Gesperrt