2011-08-08 5 views
0

문제가 있습니다. 해결할 수 없습니다. 내 데이터베이스에서 회원 패키지를 반복하는 PHP 스크립트가 있습니다. 나는 지금 3 개의 다른 회원에게 5 개의 회원 패키지를 가지고있다.PHP while - SELECT html 태그

선택 옵션이 필요합니다. 따라서 사용자는 각 멤버쉽에 대해 원하는 패키지를 선택할 수 있습니다.

그러나 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

는 소리가 난다. 이 쿼리는 현재 무엇을 반환합니까? 어떻게 그걸 더 자세히 필터링하고 싶니? – 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

SQL에서 'LIMIT 4'가 아닌 4 가지 값으로 제한한다면? – Mike

+0

내가 말했듯이, PHP 로직만으로도 특별한 SQL 작업을하지 않고도이 작업을 수행 할 수있는 방법을 알고 싶어하는 분을위한 것입니다. 그에게 미래에 유용 할 수도 있습니다. – NoviceCoding

0

, 당신은 가장 확실히 자체 개폐를 끌어 할 while 루프에서 태그를 선택하십시오. 당신은 그 안에 한 번만 있지만 여러 옵션을 원한다. 당신은 당신의 SQL SELECT 쿼리의 구체적 할 같은

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

이 코드가 작동하는 이유를 설명하십시오 –