Hallo,
habe ein Problem mit meinen Array's.
(Datenbank Oracle9i)
Zu Begin meines Programms kommt eine Übersichtsmaske mit mehrerern Buttons, die alle auf verschiedene "Seiten" verweisen. Nur beim ersten Auf ruf dieser Seite werden aus der Datenbank die Check-Constraints ausgelesen und die erlaubten Eingaben dieser Constraints in Arrays gespeichert.
Folgende Funktion tut dies:
Sie funktioniert ohne Probleme.
Diesee Funktion ist nun zum erzeugen der Selectfelder des Html Formulares gedacht: Sie wird erst auf der nächsten Maske aufgerufen.
Also nicht im dem gleichen php.Script. Deshalb speichere ich die Arrays in $SESSION-Vars.
Sie funzt auch.
Ich kann nun per Record durch die einzelnen Sätze "blättern"
Nun zu meinem Problem.
Wenn jemand den "SaveButton" betätigt werden alle änderungen an den verschiedenen Feldern , welche von dem Benutzer getätigt wurden, in der DB gespeichert.(per Update).
Jedoch sind nach dem betätigen dieses Buttons, und nur dann, meine Session-Arrays scheinbar leer. Denn in den Selectfeldern, welche mit den aus oben den beiden Funktionen gebildeten $SESSION-ARRAYS erstellt werden, stehen dann nur noch 1 Buchstabe und eine Zeile.
Woran könnte das liegen?
habe ein Problem mit meinen Array's.
(Datenbank Oracle9i)
Zu Begin meines Programms kommt eine Übersichtsmaske mit mehrerern Buttons, die alle auf verschiedene "Seiten" verweisen. Nur beim ersten Auf ruf dieser Seite werden aus der Datenbank die Check-Constraints ausgelesen und die erlaubten Eingaben dieser Constraints in Arrays gespeichert.
Folgende Funktion tut dies:
PHP-Code:
function create_constraint_array($sql_statement,$array_name)
{
ociexecute($sql_statement);
ocifetchinto($sql_statement,$result);
$condition = $result[0];
$kurz = strstr($condition, '(');
$result[] = $kurz;
$weg = str_replace("'", "", $result[1]);
$weg2 = str_replace("(", "", $weg);
$weg3 = str_replace(")", "", $weg2);
$vkurz = ltrim($weg3);
$vhkurz = rtrim($vkurz);
$pieces = explode(",", $vhkurz);
$_SESSION["$array_name"] = $pieces;
}
Diesee Funktion ist nun zum erzeugen der Selectfelder des Html Formulares gedacht: Sie wird erst auf der nächsten Maske aufgerufen.
Also nicht im dem gleichen php.Script. Deshalb speichere ich die Arrays in $SESSION-Vars.
PHP-Code:
function select_aus_constraint2($s_name,$s_laenge,$s_size,$vergleichsstatement,$spaltenname,$null)
{
echo "<select name=\"$s_name\" size=\"$s_size\" style=\"width:$s_laenge\">"; // Ab hier üblicher Aufbau
$wert_aus_vergleich=vergleich($vergleichsstatement, $spaltenname); // des selects
if($null==nullable)
{
if ($wert_aus_vergleich=="")
$selected="selected";
else $selected="";
echo "<option value='' $selected></option>";
}
$pieces = $_SESSION["$s_name"];
$anzahl = count($pieces);
for ($i = 0; $i < $anzahl; $i++)
{
$wert = $pieces[$i];
if ($wert_aus_vergleich==$wert)
$selected="selected";
else $selected="";
echo "<option value='$wert' $selected>$wert</option>";
}
echo "</select>";
Ich kann nun per Record durch die einzelnen Sätze "blättern"
Nun zu meinem Problem.
Wenn jemand den "SaveButton" betätigt werden alle änderungen an den verschiedenen Feldern , welche von dem Benutzer getätigt wurden, in der DB gespeichert.(per Update).
Jedoch sind nach dem betätigen dieses Buttons, und nur dann, meine Session-Arrays scheinbar leer. Denn in den Selectfeldern, welche mit den aus oben den beiden Funktionen gebildeten $SESSION-ARRAYS erstellt werden, stehen dann nur noch 1 Buchstabe und eine Zeile.
Woran könnte das liegen?
Kommentar