2011-08-08 9 views
0

私には問題があります。私は解決できません。私は私のデータベースからメンバーシップパッケージをループするPHPスクリプトを持っています。私は現在3つのメンバーシップに5つのメンバーシップパッケージを持っています。PHP while - SELECT htmlタグ

SELECTオプションが必要です。ユーザーは各メンバーシップに必要なパッケージを選択できます。

しかし、私はwhileループを実行しようとすると、それをループして、5つのメンバーシップパッケージをすべてループします。 3つのSELECTが必要です。メンバーシップパッケージの詳細は内部にあります。

私の現在のコード:

       <?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コマンドで一意のIDを設定することはできません。 –

+2

'membership_packages'のスキーマを表示できますか?データを見ずにデータ固有の質問に答えるのは難しいです! – wolv2012

答えて

0

いずれかの他の提案または(あなたがそれをやっての論理が唯一の方法をしたい場合、例えばMySQLを知らない)あなたが使用することができますし、反復カウンタに誰かとして制限を行います

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

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

endwhile; 

編集:のようなwhileループの何かを停止4に行っていないNoviceCodingのソリューションに加えて3

+0

これを4つの値に制限しようとしているのであれば、なぜSQLでは 'LIMIT 4'をしないのですか? – Mike

+0

私が言ったように、これは特別なSQLのものを必要とせずに、phpロジックのみでそれをやり遂げる方法を知りたい人のためのものです。将来彼に役立つかもしれない – NoviceCoding

0

、あなたが最も確かにそれ自体の開閉を引きたいです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

なぜこのコードが動作するのか説明してください –