2015-02-06 2 views
0

나는 XAMPP 서버에서 PHP, MySQL을 사용하여 연락처 데이터베이스를 만들었습니다. 페이지가 열리고 추가, 수정 & 삭제 버튼이있는 '연락처'테이블이 있습니다. 추가 & 삭제가 올바르게 작동합니다. 편집 버튼을 사용하여 테이블 행의 값으로 채워집니다 모든 일반적인 입력과 모달 폼 ...PHP의 select 요소에 대한 기본값

$("#dlgeditContactName").val(ContactName); 
$("#dlgeditEmail").val(Email); 

등을 열어

select 요소 (접점 유형)이있다 인

<?php 

$conn = new mysqli('xxxx', 'xxxx', 'xxxx', 'xxxx') or die ('Cannot connect to db'); 

    $result = $conn->query("select contacttypeid, contacttype from tblcontacttypes"); 

    echo "<select id = 'dlgeditcontacttypeid'>"; 

    while ($row = $result->fetch_assoc()) { 
     unset($id, $name); 
     $id = $row['contacttypeid']; 
     $name = $row['contacttype']; 
     echo '<option value = "'.$id.'">'.$name.'</option>'; 
    } 
    echo "</select>"; 

?> 

contacttypeid & contacttype는 INT와 문자열 예입니다 ... PHP를 사용하여 채워집니다. 1, 개인 2, 가족 등

이 선택 상자는 예상대로 작동하며 사용자는 편집 세션 중에 옵션을 선택할 수 있습니다.

테이블 행의 값을 기반으로이 선택 상자에 기본값을 입력하는 가장 좋은 방법을 모르겠습니다. 작성 다른 입력 요소는

$("#dlgeditcontacttypeid").val(ContactTypeID); 

은 내가에서 ...

<option value="audi" selected>Audi</option> 

로 '선택'사용해야합니다 생각 ... 쉽게하지만, 작동하지 않는 선택에 대해 다음 사용했다 (W3Schools에서), 이것이 최선인지, 심지어 어떻게하는지 잘 모르겠습니다.

은 내가 ID와 양식에 숨겨진 DIV 생각하지만, PHP

에 값

나는 PHP 내에서 일부 자바 퍼팅 시도를 얻는 행운 ...

echo "<script> function(); </script>"; 

는하지만 '보지 않는다 지저분한 '그리고 나는 그것이 최선의 접근이라고 믿지 않는다.

누구나 이것을 다루어야하는 표준 방법이 있어야만 하는가? 나는이 PHP 내부의 기본값이 생각하지 않는다 나는이 이해하고있는 경우

$ContactTypeID = 2; //Considering you have default value with you. 

while ($row = $result->fetch_assoc()) { 
    unset($id, $name); 
    $id = $row['contacttypeid']; 
    $name = $row['contacttype']; 

    if($id == $ContactTypeID) //If default value and id in loop are same 
    echo '<option value = "'.$id.'" selected="selected">'.$name.'</option>'; 
    else 
    echo '<option value = "'.$id.'">'.$name.'</option>'; 
} 

답변

0

당신이 찾고있는이가요 그래서 나는 사용할 수 없다 --- $ ContactTypeID = 2; // 기본값을 가지고 있다고 생각합니다. 편집 폼을 열기 직전에 테이블 행을 가져올 수 있지만 비교를 위해 PHP로 가져 오는 방법은 무엇입니까? 나는 정말 단순한 것을 오해하지 않았고 불필요한 슬픔을 여러분에게 주었길 바랍니다.
+0

이 내 문제의 핵심입니다 (이 의심입니다!) : –

+0

$ ("# dlgeditContactName"). 인 경우 val (ContactName); 이것은 $ ("# dlgeditcontacttypeid")보다 당신을 위해 일합니다 .Val (ContactTypeID); 이것도 작동해야합니다. 선택 상자 요소 ID 'dlgeditcontacttypeid'가 양식의 다른 곳에 존재하지 않는지 확인하십시오. 또는 selectbox elemnet Id를 변경하여 다른 요소 ID와 중복되지 않도록하십시오. – Ruprit

+0

이 Pritzzz에게 도움을 주셔서 감사합니다. \t $ ("# dlgeditContactName")이라고 생각합니다. val (ContactName); 그것은 직설적 인 HTML이기 때문에 저에게 효과적입니다. 내가 얻지 못하는 비트는 HTML 값 ($ ("# dlgeditcontacttypeid")을 보내는 방법입니다.val (ContactTypeID);)를 비교할 PHP 코드에 추가하십시오. PHP 호출 중에 HTML 요소 값을 가져 오는 것과 같이 간단하다고 생각합니다. PHP로 값을 보내려면 POST 또는 GET이 필요할 수도 있습니다. 테이블에서 다른 양식 요소로 ID를 보내는데 문제가 없습니다. –

관련 문제