동적으로 채워진 드롭 다운 메뉴 인 검색 필드를 만들려고합니다. 이 코드는 데이터베이스 쿼리를 다음과 같이 메뉴가 채울 :데이터를 반복하지 않고 데이터베이스에서 드롭 다운 메뉴를 채우려면 어떻게해야합니까?
<form action="<?=$SERVER['PHP_SELF'];?>" method="post" name="nameSearch">
<label for="nameMenu">
<p>Choose a name from the drop down menu<br />
to retrieve all the data for that person.</p>
</label>
<select name="dateMenu" id="dateMenu">
<option value="0" selected="selected">Choose a name</option>
<?php
$sql_search = 'SELECT id, name from $tbl_name';
$query_search = mysql_query($sql_search);
while($row = mysql_fetch_array($query_search))
{
echo '<option value=' . $row['id'] . '>' . $row['name'] . '</option>';
}
?>
</select>
<input type="submit" name="searchName" value="Find">
</form>
문제는 그 데이터베이스는 내가에서 옵션으로 나와 같은 이름을 얻을 반복적으로 같은 이름을 저장할 수있는 정보를 보유하고 있기 때문에 내 드롭 다운 메뉴. 반환 모습과 같이
----------------------------------------------------------
| id | name | uniqueImage | date | time |
----------------------------------------------------------
| 1 | John | uniqueImage001.png | 2011-03-11 | 14:21:20 |
| 2 | James| uniqueImage002.png | 2011-03-11 | 14:24:30 |
| 3 | Joe | uniqueImage003.png | 2011-03-11 | 14:26:10 |
| 4 | John | uniqueImage004.png | 2011-03-11 | 14:40:10 |
| 5 | Joe | uniqueImage005.png | 2011-03-11 | 14:56:32 |
| 6 | Joe | uniqueImage006.png | 2011-03-11 | 15:02:50 |
| 7 | James| uniqueImage007.png | 2011-03-11 | 15:21:25 |
| 8 | John | uniqueImage008.png | 2011-03-11 | 15:26:30 |
----------------------------------------------------------
메뉴 옵션 :
DB를 그렇게 보이는
<option value="1">John</option>
<option value="2">James</option>
<option value="3">Joe</option>
<option value="4">John</option>
<option value="5">Joe</option>
<option value="6">Joe</option>
<option value="7">James</option>
<option value="8">John</option>
내가 필요로하는 메뉴가 더 이렇게 될 드롭 다운입니다 :
<option value="1">John</option>
<option value="2">James</option>
<option value="3">Joe</option>
이렇게하면 특정 사용자와 관련된 모든 고유 이미지를 얻을 수 있습니다. 내 쿼리에서 반환 된 DB에 모든 이름이 필요하지는 않으며 각 이름은 한 번만 필요합니다. 나는 관계형 DB 체계를 설정할 필요가 있다고 생각하지만 이것을 피하려고 노력하고있다. 이것을 설정하는 다른 방법이 있습니까? 감사.
아니요, 같은 결과입니다. – AverageJoe
문제는 사용자의 ID 열이 고유하지 않다는 것입니다. 당신은 이름 컬럼을 사용하기 위해 그것을 변경해야 할 것입니다. 예를 들어 John은 1과 4 중 어느 것을 사용 하시겠습니까? – Avitus
예, 나는 그것을 보았습니다. 나는 이드가 필요하다고 생각했지만, 결국 나는 그것을 필요로하지 않는다. 당신의 해결책은 내가 이드를 꺼낸 후에 작동했습니다. 감사. – AverageJoe