简体   繁体   中英

How to display selected Multiple dropdown values in edit page php

i'm getting one problme.i'm unable to display selected dropdon values in edit form.while adding i'm storing dropdon values with , seperated in database field.

code:
 <select name='weekoff[]' id='weekoff' multiple>
                          <option value="Monday">Monday</option>
                          <option value="Tuesday">Tuesday</option>
                          <option value="Wednesday">Wednesday</option>
                          <option value="Thursday">Thursday</option>
                           <option value="Friday">Friday</option>
                            <option value="Saturday">Saturday</option>
                             <option value="Sunday">Sunday</option>
                        </select>

if(isset($_REQUEST['weekoff'])){
  $dbCheckbox = implode(',',$_REQUEST['weekoff']);
}

database Storing Format:Monday,Sunday

how to display selected values in edit form:
edit.php:
<?php 
                                       // $dbCheckbox = explode(',',$row['UNIT_WEEKOFF']);
                                       $weekendArr = array();
                                       $weekendArr[] =$row['UNIT_WEEKOFF'];

                    //print_r($weekendArr);
                    $weekendArr = explode(",",$weekendArr) ;
                    //echo $weekendArr;
                                      ?>
                                  <select name='weekoff[]' id='weekoff' multiple>
    <option value="Monday" <?php echo (isset($weekendArr) && in_array('Monday', $weekendArr) ) ? "selected" : "" ?>>Monday</option>
    <option value="Tuesday" <?php echo (isset($weekendArr) && in_array('Tuesday', $weekendArr) ) ? "selected" : "" ?>>Tuesday</option>
    <option value="Wednesday" <?php echo (isset($weekendArr) && in_array('Wednesday', $weekendArr) ) ? "selected" : "" ?>>Wednesday</option>
    <option value="Thursday">Thursday</option>
    <option value="Friday">Friday</option>
    <option value="Saturday">Saturday</option>
    <option value="Sunday">Sunday</option>

Hope this will help you

Suppose you are retrieving data from DB like

$weekendArr = array(); //First define blank array so you will fill it with your DB values
while($row = mysql_fetch_assoc($query)){
   $weekendArr[] = $row['weekoff']; 
}
$weekendArr = explode(",",$weekendArr) ;

Then use this array like

<select name='weekoff[]' id='weekoff' multiple>
        <option value="Monday" <?php echo (isset($weekendArr) && in_array('Monday, $weekendArr) ) ? 'selected="selected"' : "" ?>>Monday</option>
        <option value="Tuesday" <?php echo (isset($weekendArr) && in_array('Tuesday, $weekendArr) ) ? 'selected="selected"' : "" ?>>Tuesday</option>
        <option value="Wednesday" <?php echo (isset($weekendArr) && in_array('Wednesday, $weekendArr) ) ? 'selected="selected"' : "" ?>>Wednesday</option>
        <option value="Thursday">Thursday</option>
        <option value="Friday">Friday</option>
        <option value="Saturday">Saturday</option>
        <option value="Sunday">Sunday</option>
</select>

Apply this to every option.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM