2013-03-17 5 views
0

나는이 코드를 사용하여 Mysql의 "category"필드에서 카테고리를 수집합니다. 이것은 파트 편집 폼입니다. 목록을 채운 후에 선택하기 전에 선택한 카테고리를 원합니다. 코드 is :편집 양식을 편집 양식으로 선택하십시오

<td align="right">Category</td> 
    <td> 
     <?php 
     // Write out our query. 
     $query = "SELECT id,cat_name,parent FROM categories WHERE parent='0'"; 
     // Execute it, or return the error message if there's a problem. 
     $result = mysql_query($query) or die(mysql_error()); 
     $dropdown = "<select name='category'>"; 
     while($row = mysql_fetch_assoc($result)) { 
     $dropdown .= "\r\n<option value='{$row['id']}'>{$row['cat_name']}</option>"; 
     } 
     $dropdown .= "\r\n</select>"; 
     echo $dropdown; 
     ?> 
     </td> 

나는 어떻게 해야할지 모르겠다. 나는 내가 선택하고 싶은 옵션에 "selected"를 입력해야한다는 것을 알고 있지만 목록을 채운 후에 그것을 선택하는 방법은 무엇입니까?

+0

어디에서 이전 선택 사항을 저장합니까? 서버는 이전에 선택하지 않은 것을 선택하지 않은 경우 이전에 선택한 내용을 알 수 없습니다. –

답변

0

인덱스 된 탭 $tab["key"]을 사용하면 원하는 줄을 쉽게 찾고 편집 할 수 있습니다.

편집 : 귀하의 메시지는 분명하지 않지만 원하는 것을 원한다고 생각했습니다. 그렇지 않으면, 명확히하십시오.

+0

나는 제품의 ID를 사용하여 데이터베이스에서 검색하기 위해 변수를 사용하는데 목록에서 선택하려는 카테고리의 이름을 가진 "Category"라는 변수가 있지만 채워진 후 선택하는 방법은 thats 내 질문 – user2003332

+0

내가 말했듯이 탭을 사용하고 색인을 붙인 경우 : $ dropdown [ "categoryname"] 이렇게하면 탭을 채운 후에 쉽게 좋은 선을 찾을 수 있습니다. Liam이 제안한 것처럼 루프에서 직접 확인하십시오. – Maresh

0

코드에서 사용자가 이전에 선택한 내용을 확인하지 않습니다. 당신은 이런 일에 그 작업을 수행 할 수 있습니다

$selected = ''; 
if($row['id']==$userSelectedOption) $selected = ' selected="selected"'; 
$dropdown .= "\r\n<option value='{$row['id']}'{$selected}>{$row['cat_name']}</option>"; 

을 위의 예에서, 우리는 사용자가 이미 선택한 값을 나타냅니다 $userSelectedOption라는 변수가 있습니다. 또한 카테고리의 ID라고 가정합니다. while 루프 내에서 한 줄 대신 위의 세 줄을 사용하십시오. 이 항목을 렌더링하면 선택한 항목이 일치하는 항목이됩니다. $userSelectedOption

관련 문제