2015-10-29 48 views
1

我有一些PHP列出了一堆選項(通過一個循環),並將它們打印在頁面上,每一行都有一個新行。如何迭代php循環並在HTML下拉窗體中顯示數據?

我希望選項出現在動態大小的下拉式HTML列表中,每個列表都有不同的選項值。

這是PHP(它完美):

if($postOpts) { 
    foreach($postOpts as $option) 
     echo $option["name"]." - ".$option["price"]."<BR>"; 
} 


//Otherwise, present the default postage option for domestic or international. 
else { 
     echo "Default Shipping Option - $".$post->getDefaultPrice(); 
} 

我有一個形式,但是你可以看到選項的形式,量是靜態的而不是動態:

<form> <!-- form action will go here --> 
       <div class="form-group col-xs-12"> 
        <div class="col-xs-3 col-md-2 form-label"><label>Shipping Options:</label></div> 
        <div class="col-xs-4 col-md-3"> 
         <select class="form-control" name="list" title="pick a type"> 
          <!-- I assume I need to iterate through options here --> 
          <option value="01">Shipping1</option> 
          <option value="02">Shipping2</option> 
          <option value="03">Shipping3</option> 
         </select> 
        </div> 
       </div> 
      </form> 

編輯我忘了PHP中的其他聲明,請檢查。

+0

那麼你採取看看[這裏](http://mattgemmell.com/what-have-你試過/)?編輯:當你嘗試谷歌艱難的很多答案.. – Naruto

+2

可能重複的[PHP的foreach循環填充下拉列表與數組數組]值(http://stackoverflow.com/questions/23546818/php-foreach-loop - 填充 - 下拉列表與數組中的值) – Naruto

回答

1

替換您的選擇與此,

<select class="form-control" name="list" title="pick a type"> 
    <?php if(count($postOpts)) { ?> 
     <?php foreach($postOpts as $row) { ?> 
      <option value="<?= $row["price"] ?>"><?= $row["name"] ?></option> 
     <?php } ?> 
    <?php } else { ?> 
      <option value="<?= $post->getDefaultPrice() ?>"><?= "Default Shipping Option - $".$post->getDefaultPrice() ?></option> 
    <?php } ?> 
</select> 
+0

沒有選項出現,我假設,因爲沒有如果($ postOpts)在這個?我無法弄清楚它在 – bandoy123

+0

都是在同一頁面中出現的語法? –

+0

@ bandoy123現在檢查答案。 –

0

你可以試試這個

<form> <!-- form action will go here --> 
      <div class="form-group col-xs-12"> 
       <div class="col-xs-3 col-md-2 form-label"><label>Shipping Options:</label></div> 
       <div class="col-xs-4 col-md-3"> 
        <select class="form-control" name="list" title="pick a type"> 
         <option value="">Choose type</option> 
         <?php foreach($postOpts as $option) { ?> 
          <option value="<?php echo $option['name'].' - '.$option['price'];?>"><?php echo $option["name"]." - ".$option["price"]; ?></option> 
         <?php } ?> 
        </select> 
       </div> 
      </div> 
     </form> 
+0

沒有選項出現,我假設因爲沒有如果($ postOpts)在這個?我找不到要在 – bandoy123

+0

OOPS中獲得它的語法,請檢查我所做的編輯,我忘了else子句 – bandoy123

相關問題