2016-08-04 2 views
0

페이지에 여러 개의 드롭 다운이 있습니다. 그러나 모든 드롭 다운이 동일한 목록을 가질 수 있도록 단일 데이터베이스 쿼리에서 레코드를 가져와야합니다. 나는 그것을 성취하려고 노력했으나, 내가 얻는 것은 인구가 많아지는 첫 번째 드롭 다운이다. 이것이 제가 아래에서 한 일이며 도움이 필요합니다.동일한 쿼리를 사용하여 여러 개의 드롭 다운 목록을 mysql 테이블의 데이터로 동시에 채 웁니다.

나는이 이름을 차별화하기 위해 이름을 변경하여 모든 드롭 다운에 반복적으로 사용했습니다. 그러나 첫 번째 드롭 다운 만 채워집니다.

답변

1

mysqli_fetch_assoc은 결과 집합에서 행을 사용합니다. 따라서 첫 번째 드롭 다운이 생성 된 후 결과 집합의 끝에 도달했으며 mysqli_fetch_assoc에 대한 추가 호출은 null을 반환합니다. 이 문제를 해결하려면 드롭 다운을 출력하기 전에 결과를 가져 와서 배열에 저장하십시오. 배열을 재사용 할 수 있습니다.

<?php 
    while ($row_playersa = mysqli_fetch_assoc($result_playersa)) { 
     $players[] = $row_playersa; 
    } 
?> 

을 그리고 당신이 필요로하는 당신이 여러 번 수행 할 수 있습니다 :

그래서 한 번 할 당신의 도움을 위해

<select name="pl2a" class="input-field-login3" id="pl2a" tabindex="1"> 
    <option selected="Selected">--Select Player--</option> 
    <?php foreach ($players as $player): ?> 
    <option value="<?php echo $player['plyName'] ?>"><?php echo $player['plyName'] ?></option> 
    <?php endforeach ?> 
</select> 
+0

감사합니다. 이제 작동합니다. 그러나 호기심에서, 나는 변수에 값을 저장하려고 시도하고 그것을 반복적으로 호출했지만 여전히 작동하지 않았습니다. 왜 그런가? 당신이 사용한 방법과 비슷한 종류의 것을 사용하십시오. –

+0

반갑습니다. 아이디어가 있을지 모르지만 "변수에 값을 저장하는 것"이 ​​무슨 뜻인지 잘 모르겠습니다. –

+0

무슨 뜻인지는이 $ selectitem = ""; –

관련 문제