Hallo,
ich kann nicht sagen, dass ich javaScript besonders mag, aber ich möchte es hier in einer php Funktion verwenden.
Meine Funktion holt aus einem mySQL Datenbanktabellenfeld mit demTyp 'datetime' ein Datum, formatiert den String so, dass nur das Jahr generiert wird und stellt die so gefundenen Werte in einer generierten Selectbox dar. Soweit so gut. Das klappt auch hervorragend.
Mein Problem ist hier allerdings, dass bei Auswahl der Werte in der select-Box nichts passiert. Meine Idee also : "Do it with javaScript".
Auch noch gut- aber:
Ich bekomme das Zusammensetzen der Parameter - also den javascript onChange innerhalb des PHP Codes nicht hin. Ein Jammer.
Kann mir da jemand auf die Sprünge helfen?
Hier der Code:
Zuerst die Funktion selbst:
Der problematische Teil ist zwischen Zeile 5 -7.
Es muss hier bei onChange irgendsoetwas rein, weil
+ this.options[this.selectedIndex].value oder
+ this.options[this.selectedIndex].name den ausgewählten Jahr beinhaltet... (glaube ich zumindest)
nur bekomme ich die Verkettung nicht hin. Kann mir jemand damit helfen?
Danke erstmal
ich kann nicht sagen, dass ich javaScript besonders mag, aber ich möchte es hier in einer php Funktion verwenden.
Meine Funktion holt aus einem mySQL Datenbanktabellenfeld mit demTyp 'datetime' ein Datum, formatiert den String so, dass nur das Jahr generiert wird und stellt die so gefundenen Werte in einer generierten Selectbox dar. Soweit so gut. Das klappt auch hervorragend.
Mein Problem ist hier allerdings, dass bei Auswahl der Werte in der select-Box nichts passiert. Meine Idee also : "Do it with javaScript".
Auch noch gut- aber:
Ich bekomme das Zusammensetzen der Parameter - also den javascript onChange innerhalb des PHP Codes nicht hin. Ein Jammer.
Kann mir da jemand auf die Sprünge helfen?
Hier der Code:
Zuerst die Funktion selbst:
PHP-Code:
function database_select($tbl_value, $select_name, $label) {
global $DB_WE;
$menu = "<label for=\"".$select_name."\">".$label."</label>\n";
// hier beginnt problematische Zeile
$menu .= "<select name=\"".$select_name."\" onChange=\"document.location.href='".$_SERVER["PHP_SELF"]."?"\">\n";
// hier endet problematische Zeile
$DB_WE->query("SELECT DATE_FORMAT(DateOrder,'%Y') AS DateOrder FROM ".SHOP_TABLE . " GROUP BY DateOrder");
while ($DB_WE->next_record()) {
$menu .= " <option value=\"". $DB_WE->f("DateOrder")."\"";
$menu .= (isset($_REQUEST[$select_name]) && $DB_WE->f("DateOrder") == $_REQUEST[$select_name]) ? "
selected=\"selected\"" : "";
$menu .= ">" . $DB_WE->f("DateOrder") . "\n";
}
$menu .= "</select>\n";
return $menu;
}
// Aufgerufen wird die Funktion übrigens einfach mit:
$selectBox = database_select("DateOrder", "ViewYear", "Jahr auswählen:");
...
...
...
...
Der problematische Teil ist zwischen Zeile 5 -7.
Es muss hier bei onChange irgendsoetwas rein, weil
+ this.options[this.selectedIndex].value oder
+ this.options[this.selectedIndex].name den ausgewählten Jahr beinhaltet... (glaube ich zumindest)
PHP-Code:
$menu .= "<select name=\"".$select_name."\" onChange="document.location.href=\"' . $_SERVER['PHP_SELF']
.'?\" + this.name + "=" + this.options[this.selectedIndex].value
//oder
$menu .= "<select name=\"".$select_name."\" onChange="document.location.href=\"' . $_SERVER['PHP_SELF'] .
'?\" + this.name + "=" + this.options[this.selectedIndex].name
Danke erstmal
Kommentar