2011-12-08 5 views
0

select 태그는 PHP echo 명령을 통해 데이터베이스에서 생성됩니다.게시 후 선택 값 가져 오기 양식

내 select 요소를 포함한 양식을 게시 한 후 옵션 태그의 값뿐만 아니라 내용 (옵션 태그 사이)을 검색 할 수 있기를 원합니다. 그래서 제가 볼보를 선택하고 양식을 제출하면. Volvo 및 1을 검색하려고합니다.

<select name='car'> 
    <option value='1'>Volvo</option> 
    <option value='2>Saab</option> 
    <option value='3>Mercede</option> 
    <option value='4>Audi</option> 
</select> 

이 값만 검색됩니다.

$_POST['car'] 

어떻게 둘 다 검색 할 수 있습니까?

답변

1

당신이 좋아하는 얻을 수있는이

<select name='car'> 
    <option value='1,Volvo'>Volvo</option> 
</select> 

$value = explode(",",$_POST['car']); 

당신이

$value[0]= 1 
$value[1]= Volvo 
+0

그렇게 할 수는 있지만 항상 입력을 확인하기 위해 어쨌든 데이터베이스에서 ID를 조회해야합니다. – PiTheNumber

+0

괜찮아 ..... – SupaOden

+0

네,하지만이 시간이 우리가 가치에 따라 다른 배열을 정의해야 할 때 우리가 가치 + 텍스트를 얻을 수있는 방법이 많은 시간을 시도 ... –

2

수 없습니다. 그러나 1은 항상 볼보임을 알고 있습니다.

그냥 배열에 보관 :

$cars = array('Volvo', 'Saab,' 'Mercede', 'Audi'); 
$car_name = $cars[$_POST['car']]; 

당신은 또한 배열에서 선택을 생성 할 수있는이 방법 :

<select name='car'> 
    <? foreach ($cars as $key => $car_name): ?> 
    <option value='<?= $key ?>'><?= $car_name ?></option> 
    <? endforeach; ?> 
</select> 
+0

얻을 문제가 select 태그 데이터베이스에서 PHP 파일에서 동적으로 생성되고 있다는 점이다. – SupaOden

+0

그래서 데이터베이스에서 이름을 조회하십시오. – PiTheNumber

1

당신이 당신의 제출을 ​​조작 할 jQuery를 사용하지 않는 한을, 당신이 할 수있는 옵션의 내용과 동일한 단어를 포함하도록 value 속성을 수정하면됩니다. 그러나 옵션 내용에서 추출한 POST 데이터를 제출할 수는 없습니다.