Folgende Funktionen werden aufgerufen mit:
Es werden die Kategorien für $kat_bereich ausgelesen und als Auswahlliset ausgegeben.
(Die Beschränkung auf $kat_bereich ist für das aktuelle Problem unwichtig und muss nicht beachtet werden.)
Frage: Geht das auch einfacher. V.a. ohne global
Ich möchte keine direkte Ausgabe mit echo() und mit return-Werten kommt nur Käse heraus..
Gruß,
Syco
PHP-Code:
<?=kats_form($kat_bereich,$kat)?>
(Die Beschränkung auf $kat_bereich ist für das aktuelle Problem unwichtig und muss nicht beachtet werden.)
Frage: Geht das auch einfacher. V.a. ohne global
Ich möchte keine direkte Ausgabe mit echo() und mit return-Werten kommt nur Käse heraus..
PHP-Code:
function kats_form($kat_bereich,$kat_selected) {
global $kats_form_unterkats_content;
$form = '<select name="kat">';
$form.= '<option value="">[ Kategorie wählen ]</option>';
kats_form_unterkats(0,$kat_bereich,$kat_selected);
$form.= $kats_form_unterkats_content;
$form.= '</select>';
return $form;
}
function kats_form_unterkats($kat_darueber,$kat_bereich,$kat_selected,$kats_form_unterkats_content="",$prae="") {
global $kats_form_unterkats_content;
$query = mysql_query("SELECT name,id FROM tab_kats WHERE
kat_darueber = ".$kat_darueber." AND bereich = ".$kat_bereich);
if (mysql_num_rows($query)) {
while ($row = mysql_fetch_object($query)) {
$kats_form_unterkats_content.= "<option value=\"".$row->id."\"";
if ($row->id == $kat_selected) {
$kats_form_unterkats_content.= " selected class=\"selected\"";
}
$kats_form_unterkats_content.= ">".$prae." ".$row->name."</option>";
$prae.= "- ";
kats_form_unterkats($row->id,$kat_bereich,$kat_selected,$content,$prae);
$prae = substr($prae,2);
}
}
}
Syco
Kommentar