2015-02-07 4 views
0

저는 stackoverflow에 익숙하며 약간의 도움이 필요합니다. 이미 물어볼 내용을 검색하려고했지만 관련 주제를 찾을 수 없으므로 여기를 참조하십시오.데이터베이스 필드에 대해 개별적으로 연결된 변수 사용

나는 PHP 페이지를 가지고있어 장소 목록을 얻고 그 도시/도시를 예를 들어, 드롭 다운을 채우기 위해 연결 한 MySQL 데이터베이스 각 < 옵션 >에 "[장소], [도시/도시]"가 표시됩니다.

내가하려는 것은 사용자가 옵션 중 하나를 선택하고 MySQL 데이터베이스 내의 다른 테이블에 [장소]와 [도시/도시]를 별도의 필드로 저장하려고하는 경우입니다.

정말 도움이됩니다.

답변

0

를 얻을 수 있습니다 얼마나 확실하지 않다 "마을"

포함 가장 좋은 방법은 <option> 태그의 value 속성에 datarecordid (기본 키 값)를 넣은 다음 데이터베이스에서 선택된 ID의 데이터를 서버 측에서 다시 쿼리하는 것입니다. 이렇게하면 원치 않는 데이터로 양식을 조작 할 수 없습니다.

내가이 단순화 된 반 의사처럼 그것을 할 것, 더 명확하게하려면 다음과 같이 응답

<?php 
$action = isset($_GET['action']) ? $_GET['action'] : null; 

if($action == "save") { 
    $id = $_POST['venue']; 

    if(!empty($id)) { 
    /* fetch data belonging to $id from database and then save venue and town/city 
     as separate fields in another table */ 
    } 
} 

/* fetch all data for the selectbox from the db and store it in $data */ 
?> 
<form action="?action=save" method="post"> 
    <select name="venue" size="1"> 
    /* iterate through $data and create $id and $caption */ 
    <option value="<?php echo $id; ?>"><?php echo $caption; ?></option> 
    /* iteration end */ 
    </select> 

    <input type="submit" value="save" /> 
</form> 
+0

이 응답은 이미 내가 회장 ID를 사용하기 때문에 정말 좋은 옵션입니다 장소 목록과 관련 도시/도시를 검색합니다. 내가보기에 이것은 또 다른 선택입니다. 고맙습니다 – sgspragg

1

자세한 내용이 필요할 수 있습니다. 예를 들어 데이터베이스에 레코드를 삽입하는 방법을 알아야합니까? 또는 옵션 태그의 값을 가져 오는 데 문제가 있습니까?

그러나에서

내가 이해 :

첫 번째 옵션 태그의 value 속성을 설정하는 기억

<option value="venue,town">venue,town</option> 

그런 다음 양식을 제출 한 후, 당신은 반환 된 문자열을 슬라이스 할 수 있습니다. 라는 변수 $ str을 내부 가정하면 저장 "장소, 도시는"

$results = explode(",",$str); 

$ 결과는 두 개의 요소를 가진 배열 될 것입니다. $ 결과 [0] "개최지"포함하고 $ 결과는 [1] 내가 도움이되지만 더 자세한 정보를 제공 할 수 있습니다 그리고 내가 생각 다시

+0

감사합니다. 나는 데이터베이스 측면에서 문제가 없으며 PHP 측에서 값을 검색하는 데만 사용됩니다. 폭발은 선택 사항이지만 내 질문에서 생략 한 것은 장소에 쉼표가 포함될 수 있다는 것입니다. 미안합니다. 도시/도시의 쉼표 뒤에 마지막 값을 가져 와서 나머지를 검색하는 방법이 있습니까? 희망이 조금 더 설명합니다 – sgspragg

+0

그러면 도움이 될 것 같아요 http://stackoverflow.com/questions/16610791/explode-only-by-last-delimeter – sinaza

관련 문제