簡體   English   中英

如何根據用戶輸入對選擇選項進行排序

[英]How to sort a select option according to user input

請我對如何實現此目標一無所知,因此我需要幫助。 我有以下代碼:

<select>
    <option>Sunday</option>
    <option>Monday</option>
    /* this option goes down to Saturday */
</select>

用戶必須選擇一個插入數據庫的選項,假設用戶選擇了星期二並希望稍后對其進行編輯。 現在,我希望該選項在星期二顯示,例如:

<select>
    <option>Sunday</option>
    <option>Monday</option>
   <option>Tuesday</option> /* this option will be the visible option before the user opens the selection */
</select>

我想通過PHP實現這一點,分配給輸出數據庫信息的變量為$day因此$day = 'Tuesday'; 請問我該如何實現?

為此,您可以在PHP中執行

<select>
    <option <?PHP echo $day=='Sunday' ? '"selected=selected"' : ''); ?>>Sunday</option> 
    <option <?PHP echo $day=='Monday' ? '"selected=selected"' : ''); ?>>Monday</option> 
    <option <?PHP echo $day=='Tuesday' ? '"selected=selected"' : ''); ?>>Tuesday</option> 

...

</select>

但是,如果選擇包含一周中的七天以上,它不是很好,並且很難編碼,更重要的是要維護

因此,使用日期名稱數組和foreach循環,以及$day變量包含用戶選擇的日期。

<?php
$dow = array('Sunday','Monday','Tuesday','Wednesday',
             'Thursday','Friday','Saturday');
?>
<select name="DayOfWeek">

<?php
    foreach ( $dow as $d ) :
        $sel = $d == $day ? 'selected="selected"' : '';
        echo "<option $sel>$d</option>";
    endforeach;
?>
</select>

您可以嘗試以下示例,並且可以申請所有選擇選項

<select>
   <option <?PHP echo ($day=='Tuesday' ? selected : ""); ?>>Tuesday</option> 
</select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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