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
          
 und was ist wenn du mehrere kategorien mit x-beliebigen unterkategorien hast?
							
						
							
						
Kommentar