lifeguard Geschrieben 27. Juni 2003 Teilen Geschrieben 27. Juni 2003 Hallo NG! Hoffe hier kann mir jemand helfen. Ich erstelle auf der 1. seite mittels einer Schleife (PHP/MySQL) mehrere Tabellenzeilen welche Formularbuttons beinhalten. Der Name der Buttons erzeugt sich aus dem Zusammensetzen des Eintrag in der mySQL-Datenbank und eines festen Begriffes. Bsp.: $pclname = "ABAP"; $line = "<input type=\"Checkbox\" name=\"PCL_\""; $line .= $pclname; $line .= "_Erfahrung\" value=\"1\"> -> folgende Checkbox wird erstellt: <input type="Checkbox" name="PCL_ABAP_Erfahrung" value="1"> Das ganze wird dann über einen Button an die nächste Seite geschickt. Dort will ich nun mittels einer ähnlichen Schleife die Variablen abfragen. Frage: Wie setz ich die Variable aus der MySQL-DB hier wieder so zusammen das ich auf die Werte aus der 1. seite zugreifen kann? Also: "PCL_" + pclname aus der Datenbank + "_Erfahrung" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
arok Geschrieben 30. Juni 2003 Teilen Geschrieben 30. Juni 2003 bin mir nich sicher ob ich alles richtig verstanden habe. aber so wie ich das versteh hast du einen string: "PCL_XXXXXXX_Erfahrung" und willst davon das XXXXXXX bekommen? also ich würde an deiner stelle entweder ein wenig mit strpos und substr rumbasteln (erst mit hilfe von strpos feststellen wo das PCL_ endet und das _Erfahrung anfängt und dann mit substr den teil dazwischen rausholen) oder das mit nem kleinen regulären ausdruck machen. der könnte dann z.b. so aussehen: preg_match("/_(.*)_/", $line, $matches); oder auch so: preg_match("/PCL_(.*)_Erfahrung/", $line, $matches); ($line is die zeile "PCL_XXXXX_Erfahrung") in beiden fällen hast du hinterher in der variable $matches[1] den gesuchten wert. du könntest aber auch deine datenbank anders designen indem du das in einzelne felder abspeicherst und hinterher zusammenbaust. ich hoffe ich hab dich richtig verstanden und kontne ein wenig helfen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lifeguard Geschrieben 30. Juni 2003 Autor Teilen Geschrieben 30. Juni 2003 *g* Hab auch schon in nem anderen Forum gemerkt das das Problem schwer zu beschreiben ist. Variable ersetzen kann ich. Ich will den Variablennamen zusammensetzen: Also den Teil "PCL_" und den Teil "_Erfahrung" hab ich. Ich will die Zusammensetzen. Also vorher steht da 1. Teil: "PCL_" 2. Teil: "XXX" 3. Teil: "_Erfahrung" Und am Ende soll da als Variable "PCL_XXX_Erfahrung" Bloß kann ich die Variable net auslesen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 30. Juni 2003 Teilen Geschrieben 30. Juni 2003 Original geschrieben von lifeguard <input type="Checkbox" name="PCL_ABAP_Erfahrung" value="1"> Hi, ich wüßte nicht ein Szenario, wo man solche zusammengesetzten Variablennamen braucht. Es ist zwar theoretisch möglich, aber meistens ein Designfehler. Warum nennst du die Checkboxen nicht einfach PCL_Erfahrung und definierst dieses als Array und setzt als Value den Wert aus der Datenbank? Also so: <input type="Checkbox" name="PCL_Erfahrung[]" value="ABAP"> Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
arok Geschrieben 30. Juni 2003 Teilen Geschrieben 30. Juni 2003 ok, neuer versuch. du willst das eine variable heraus kommt die $PCL_XXX_Erfahrung heißt? ich werd ez ne kurze antwort schreibn, net das meine antwort wieder net stimmt. also so kannst du des auf jedenfall nich machn, aber dafür kann man wunderbar arrays nehmen. machst du einfach $variable['PCL_'.$xxx.'_Erfahrung'] = 23 wenn $xxx = 'blub' steht in $variable['PCL_blub_Erfahrung'] die zahl 23 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jomama Geschrieben 30. Juni 2003 Teilen Geschrieben 30. Juni 2003 Eventuell könntest du auch eval() verwenden. Wenn du da eval("$PCL_".XXX."_Erfahrung") verwendest, ist das das gleiche wie $PCL_XXX_Erfahrung. Müsste gehen, denk ich. eval interpretiert den in der Klammer angegebenen String als PHP-Code. Ist aber doch irgendwie arg umständlich und ich würd eine Lösung wie $PCL_Erfahrung['Abap'] ebenfalls vorziehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 2. Juli 2003 Teilen Geschrieben 2. Juli 2003 PHP bietet Unterstützung zur Erstellung variabler Variablen. $var_name="PCL_$xyz_Erfahrung"; echo $$var_name; # oder einfacher echo $_POST["PCL_$xyz_Erfahrung"]; # bzw. echo $_GET["PCL_$xyz_Erfahrung"]; [/PHP] Ich hoffe mal ich konnte weiterhelfen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.