Auto populate a select box using an array in PHP

后端 未结 3 1483
清酒与你
清酒与你 2020-12-11 07:15

If i had a select box


and I had an array of values from 1-12

using ph

相关标签:
3条回答
  • 2020-12-11 07:53

    supposing the array looks like:

    $array = array(
      1=>"My first option",
      2=> "My second option"
    );
    
    <select>
      <?php foreach($array as $key => $value) { ?>
        <option value="<?php echo $key ?>"><?php echo $value ?></option>
      <?php }?>
    </select>
    
    0 讨论(0)
  • 2020-12-11 07:59

    There's no single way to do it but you might do something like:

    <select>
    <?=getMyOptions()?>
    </select>
    

    where getMyOptions() is a function call that retrieves the options (from a database for example) and prints each one in the format

    <option value="x">XXX</option>
    

    Personally, I tend to use a generic function which I call printAsOptions(). This function takes an array of objects. It expects that the objects in the array have a field called "id" and a field called "name". It iterates through the array and prints an option as above for each item. This way, you can create one function for fetching the array of objects (from a database for example) without mixing in presentation logic. The presentation logic is handled by the generic printAsOptions() function.

    0 讨论(0)
  • 2020-12-11 08:16

    You could make your own simple function as below:

    function generateSelectFromArray($array){
      // echo your opening Select
      echo "<select>";
      // Use simple foreach to generate the options
      foreach($array as $key => $value) {
        echo "<option value=' $key '> $value </option>";
       }
       echo "</select>";
    }
    

    Usage:

    $array = array(
     1=>"My first option",
     2=> "My second option"
    );
    
    generateSelectFromArray($array);
    
    0 讨论(0)
提交回复
热议问题