簡體   English   中英

如何在while循環中回顯所選內容?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM