我想在编辑类别时选择项目的子级别:
<?php
function categoryFormEdit()
{
$ID = $_GET['id'];
$query = "SELECT * FROM category WHERE id= $ID";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$subcat = $row['subcat'];
$text = '<div class="form">
<h2>Add new category</h2>
<form method="post" action="?page=editCategory">
<ul>
<li><label>Kategori</label></li>
<li><input type="text" class="inp" name="cname" value="' . $row['name'] . '"></li>
<li><label> Açıklama</label></li>
<li><textarea class="inx" rows="10" cols="40" name="kabst">' . $row['description'] . '</textarea></li>
<li>
<select class="ins" name="kselect">
<option value="1">Aktif</option>
<option value="0">Pasif</option>
</select>
</li>
<li>Üst kategorisi</li>
<li>
<select class="ins" name="subsl">';
$s = "SELECT * FROM category";
$q = mysql_query($s);
while ($r = mysql_fetch_assoc($q)) {
$text .= '<option value="' . $r['id'] . '" ' . sQuery() . '>' . $r['name'] . '</option>';
}
$text .= '</select>
</li>
<li>Home page:</li>
<li>
<input type="radio" value="1" name="kradio"> Active
<input type="radio" value="0" name="kradio"> YPassive
</li>
<li><input type="submit" class="int" value="ekle" name="ksubmit"></li>
</ul>
</form>
</div>';
return $text;
}
function sQuery()
{
if ($r['id'] == $subcat) {
$t = "selected";
}
else {
$t = "";
}
return $t;
}
?>
使用上面的代码,没有选中的项目。我的剧本有什么问题? 提前致谢
答案 0 :(得分:7)
答案 1 :(得分:1)
我通过以下方式解决了问题:
$selected = $d == $subcat ? " selected " : "";
$text .= '<option value="'.$d.'" '.$selected.' >'.$r['name'].'</option>';
function sQuery($x, $y) {
$selected = $x == $y ? " selected " : "";
return $selected;
}
答案 2 :(得分:0)
您需要在函数中使用global
关键字:
function sQuery()
{
global $r['id'];
global $subcat;
if ($r['id'] == $subcat) {
$t = "selected";
}
else {
$t = "";
}
return $t;
}