[英]How do I echo selected in a while loop?
我的網站上有一個博客和問題部分,其中包含類別。 當用戶撰寫問題或博客時,會出現一個下拉菜單,供您選擇類別。 當您編輯其中任何一個時,您可以選擇通過下拉菜單更改類別。 當您去編輯博客時,類別下拉列表是標准樣式下拉列表,並且我使用了<option value="1" <?php if($blog->category == "1"){echo "selected";}?> >Art and Literature</option>
顯示先前選擇的類別。 我在另一個開發人員停下來的地方接機,因此對於一個問題,他將其放入了while循環中。 作為一個新手,我不知道如何在while循環中“回顯選定的”,以使其拉動先前選定的貓。這是循環
<select name="category">
<option value="null">Choose Category</option>
<?php
$query = "SELECT * FROM `Categories_questions` ORDER BY `CategoryName` ASC";
$request = mysql_query($query,$connection);
while($result = mysql_fetch_array($request)) {
echo "<option value='" . $result['id'] . "'>" . $result['CategoryName'] . "</option>";
}
?>
</select>
您可以以完全相同的方式進行操作。 假設您有$ blog對象在以下代碼運行的地方可用:
while($result = mysql_fetch_array($request)) {
$selected = ($result['id']==$blog->category) ? ' selected="selected"' : '';
echo "<option value='" . $result['id'] . "' ".$selected.">" . $result['CategoryName'] . "</option>";
}
while($result = mysql_fetch_array($request)) {
$selected = ($result['id'] == $blog->category) ? "selected" : "";
echo "<option value='" . $result['id'] . "' $selected>" . $result['CategoryName'] . "</option>";
}
如果您不知道它在做什么,那就是一個三元運算符 。 本質上,它檢查$result['id']
等於當前的$blog->category
,如果確實如此,則$selected
將包含字符串“ selected”。 如果不是,則只包含一個空字符串。 然后,在您的<option>
元素內,您將輸出空字符串或“已選擇”。
我會做類似的事情:
while($result = mysql_fetch_array($request)) {
$value = $result['id'];
$selected = "";
if (check_if_selected($value)) {
$selected = "selected";
}
echo "<option value='" . $value . "' " . $selected . ">" .
$result['CategoryName'] . "</option>";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.