Form alanını değiştirme sonrası php seçildikten sonra

1 Cevap php

Ben kullanıcı alanını 1 seçer ve daha sonra sahada 1 kendi seçtikleri tarafından doldurulur alanını 2, seçer bir form var.

Sorun onlar adım 2 üzerinde sonra, alanı 1. Im yolu ive kurulumu aşağıdaki formu ile bunu nasıl emin değil. Ihtiyacım seçimi hala bir gizli form alanına taşınır olsa bile (kendi seçim gösteren olmasıdır Seçilen seçeneği ile işaretlemek için nasıl anlamaya.

Alan 1 ve 2 seçmeye fonksiyonlar aşağıda

function GetCategoryList(){
	$push .= "<form action=\"main.php\" method=POST>";
	$push .= "<select name=cat>";
	$result = mysql_query("SELECT * FROM `cats`") or trigger_error(mysql_error()); 
	while($row = mysql_fetch_array($result)){ 
		foreach($row AS $key => $value) { $row[$key] = stripslashes($value); } 
			$id = $row['id'];
			$cat = $row['cat'];
			$push .= "<option value=$id>$cat</option>";
	}
	$push .= "</select>";
	$push .= "<input type=submit name=button id=button value=\"Set Category\"></form>";
	return $push;
}

function GetSubCategoryList($cat){
	$push .= "<form action=\"main.php\" method=POST>";
	$push .= "<select name=subcat>";
	$result = mysql_query("SELECT * FROM `subcats` WHERE cat = '$cat'") or trigger_error(mysql_error()); 
	while($row = mysql_fetch_array($result)){ 
		foreach($row AS $key => $value) { $row[$key] = stripslashes($value); } 
			$id = $row['id'];
			$subcat = $row['subcat'];
			$cat = $row['cat'];
			$push .= "<option value=$id>$subcat</option>";

	}
	$push .= "</select>";
	$push .= "<input type=hidden name=cat value=$cat>";
	$push .= "<input type=submit name=button id=button value=\"Set Sub-Category\"></form>";
	return $push;
}

Bu sayfa üzerinde kod

  Category
<? echo GetCategoryList(); ?>
  <br />

  SubCategory
<? if(isset($_POST['cat'])){ echo GetSubCategoryList($_POST['cat']); } else { echo "<em>select a category</em>"; } ?>
<br />

1 Cevap

Sen selected niteliği ile seçilen seçeneği işaretlemek gerekiyor.

function GetCategoryList($selectedId=null) {
//...
    $selected = ($id==$selectedId) ? "selected" : "";
    $push .= "<option $selected value=$id>$cat</option>";
//...
}

echo GetCategoryList(isset($_POST['cat']) ? $_POST['cat'] : null);

(Xhtml için selected="selected" olmak zorunda)