2011-08-08 48 views
0

我有一個問題,我只是無法解決。我有一個PHP腳本,它從我的數據庫中循環我的會員包。我現在有5個會員套餐,3個不同的會員。PHP雖然 - SELECT html標記

我想要一個SELECT選項。因此,用戶可以選擇他們想要的包,每個成員。

但是,當我試圖做一個while循環,並循環出來,它只是循環出所有5個會員套餐。我想要3個SELECTs,裏面有會員套餐詳情。

我當前的代碼:

       <?php 
           $p=mysql_query("SELECT * FROM membership_packages"); 
           while($mp = mysql_fetch_assoc($p)): 
            echo '  <select> 
               <option>'.$mp['duration'].' Days</option> 
               </select> 
              '; 

           endwhile; 
          ?> 
+0

這聽起來像你想在你的SQL SELECT查詢更具體的。這個查詢目前返回什麼?你想如何進一步過濾? – David

+0

我不知道如何在sql查詢中更具體。因爲我通過while循環顯示所有成員身份,所以我無法在SQL命令中設置唯一標識。 –

+2

我們可以看到'membership_packages'的模式嗎?沒有看到數據就很難回答特定於數據的問題! – wolv2012

回答

0

要麼做極限別人建議或(如果你想邏輯只是做它的方式,例如,你不知道MySQL的),你可以使用和重複計數器停止while循環是這樣的:

i = 0 ; 
while($mp = mysql_fetch_assoc($p) && i <=2): 

echo '  <select> 
<option>'.$mp['duration'].' Days</option> 
</select> 
    '; 
i++; 

endwhile; 

編輯:去了4不是3

+0

如果你只是想將它限制爲4個值,爲什麼不在SQL中執行'LIMIT 4'? – Mike

+0

正如我所說,這是一個人好奇如何用PHP邏輯做到這一點,而不需要沒有特殊的SQL的東西。在未來可能對他有用 – NoviceCoding

0

除了NoviceCoding的解決方案,你最肯定要拉的開閉SE從while循環中抽出標籤。你只需要那些一次,但多個選項裏面。

i = 0 ; 
echo '<select>'; 
while($mp = mysql_fetch_assoc($p) && i <3): 
    echo '<option>'.$mp['duration'].' Days</option>'; 
    i++; 
endwhile; 
echo '</select>'; 
+0

嘿,我不得不編輯我的,所以它<= 2。這一個做4次迭代 – NoviceCoding

+0

@NoviceCoding更新爲「<3」而不是「<= 3」 – Endophage

0
<label for="c1">Selcciona la clave:</label> 
     <select> 
     <?php 
      $i=0; 
      $var="10-"; 
      while ($i<= 100) { 
       echo $var." $i <option>"; 
       $i = $i + 1; 
      } 
     ?> 
+2

請解釋爲什麼此代碼可以工作 –