variable variable-Name
bei folgender aufgaben-stellung stehe ich an:
ich möchte in abhängigkeit von auslesen eines feldes aus einer mysql-datenbank (oder einer rechenoperation - das ist egal) eine variable "benennen" - vereinfacht dargestellt:
if ($user == "ich") $var = ??? "meine_var" ;
// gemeint ist, in dem fall soll die BEZEICHNUNG der variable "meine_var" sein
else $var = ???? "deine_var ;
// gemeint ist, in dem fall soll die BEZEICHNUNG der variable "deine_var" sein
klingt vielleicht im ersten augenblick blöd - ich stoss aber immer drauf --> z.b.
ich habe eine aus einer mysql-datenbank gelesene liste (die habe ich in tabellenform in html dargestellt).
in der liste gibt es ankreuzfelder; ich will nun wissen, welches ankreuzfeld - also zu welchem datensatz gehörend - hat der user angekreuzt?
da ich auf grund einer auswahl nicht von vornherein weiss, welche und wieviele datensätze eingelesen werden, habe ich in einer while-schleife:
<input type="checkbox" name="checked'.$row[recnr].'"
wobei $row[recnr] die recordnummer aus meiner mysql-datenbank ist.
das heisst: ich sollte dann (nach übergabe per formular) soviele variablen haben, wie es datensätze gibt und die heißen dann:
$ckecked4 ---> beim datensatz mit der recordnummer 4
$ckecked5 ---> beim datensatz mit der recordnummer 5
....
$ckecked99 ---> beim datensatz mit der recordnummer 99
die jeweils 0 oder 1 als wert haben, je nachdem, ob der user angeklickt hat oder nicht.
wohl gemerkt: der NAME der variable ist &checked4 ... etc. !!! nicht der WERT (der ist 1 oder 0)
soweit so gut - im script, an das übergeben wird, kriege ich auch die werte (0 oder 1 je nach anklicken), wenn ich die variablen DIREKT anspreche,wenn ich also schreibe:
echo $checked4;
oder (usw)
echo $checked99; ....
dann kriege ich wirklich 1 oder 0 ....
in diesem script weiss ich aber auch nicht, welche datendsatznummern behandelt wurden.
also lese ich die selbe auswahl aus und nun will ich die BEZEICHNUNG der variablen "nachbauen":
$gelesen= '$checked'.$row[recnr]; --> was natürlich nicht klappt
bei
echo $gelesen;
kriege ich natürlich NICHT den wert 0 oder 1, sondern "$checked4",
"$checked5" ... etc. ... bis "$checked99"
ich habe nicht mal eine ahnung, wie das geht ....
wer kann helfen?
|