Wednesday 15 September 2010

for loop - PHP set multi select dropdown -



for loop - PHP set multi select dropdown -

i pulling info database retrieve multiple options selected multi-select drop down. them trying reset values selected selected 1 of them.

my array database:

[data] => simplexmlelement object ( [term] => lta [prevention] => simplexmlelement object ( [reason] => array ( [0] => simplexmlelement object ( [process] => recruitment [processid] => 4 ) [1] => simplexmlelement object ( [process] => people management [processid] => 3 ) [2] => simplexmlelement object ( [process] => not applicable [processid] => 2 ) ) ) )

here html / php using generate options , seek re-select options in array:

<select name="prevention" id="prevention" class="form-control dd ff" placeholder="select 1 or more options" multiple="multiple"> <?php foreach($processes->data $process){ foreach($recorddetails->data->prevention->reason $is){ if((int)$is->processid == (int)$process->processid){ $issel = 'selected'; } else { $issel = ''; } } ?> <option value="<?php echo $process->processid . '" '. $issel . '>'; ?> <?php echo $process->process; ?></option> <?php } ?> </select>

you overwritting $issel within inner loop, every value of lastly iteration.

instead initialized variable outside inner loop:

<select name="prevention" id="prevention" class="form-control dd ff" placeholder="select 1 or more options" multiple="multiple"> <?php foreach($processes->data $process): $issel = ''; foreach($recorddetails->data->prevention->reason $is): if((int)$is->processid == (int)$process->processid){ $issel = 'selected'; break; } endforeach; ?> <option value="<?php echo $process->processid . '" '. $issel . '>'; ?> <?php echo $process->process; ?></option> <?php endforeach; ?> </select>

php for-loop

No comments:

Post a Comment