2015-01-22 3 views
0

MySQL 테이블에서 PHP 함수를 가져 와서 드롭 다운을 작성했습니다. 드롭 다운은 정상적으로 작동하지만 선택한 옵션은 POST가 아닙니다. 문제는 PHP에서 HTML 선택 태그가 어떻게 생성되었는지에 대한 것입니다. 그러나이를 수정하는 방법을 찾지 못하는 것 같습니다. 나는 주변을 수색했으나 아무것도 작동하지 않는 것 같습니다.PHP 드롭 다운이 POST를 통해 전송되지 않음

다음
function contact_list(){ 
//Connection info 
$dbhost = 'localhost'; 
$db = 'database'; 
$dbuser = 'user'; 
$dbpass = 'password'; 

//Define connection 
$con = mysqli_connect($dbhost, $dbuser, $dbpass, $db); 

//Check connection 
if (mysqli_connect_errno()) { 
    echo " ERROR " . mysqli_connect_error() . " ERROR "; 
     } 
//Define search strings for drop down  
$contact_list = "SELECT * FROM CONTACT_LIST";  

//Execute search of primary_contact table 
if (!mysqli_query($con,$contact_list)) { 
    die('' . mysqli_error($con)); 
} 
//Return primary_contact results as string 
$contact_result = $con->query($contact_list); 

//Build drop down 
echo "<select name='Primary_Contact'>"; 
//Loop through results 
foreach ($contact_result as $row) 
{ 
    echo "<option value='' >" .htmlspecialchars($row['Primary_Contact']). "</option>"; 
} 

echo "</select><p></p>"; 
} 

는 HTML의 샘플입니다 : 여기

는 드롭 다운을 구축하는 PHP 함수입니다. 설명 텍스트 상자는 문제가 없으므로 문제가 양식 태그에 있다고 생각됩니다. 당신이 그런 식으로 게시 할 때

<form action="mod_output_test.php" method="POST"> 
    <u>Description</u>: <p></p> 
    <input type="text" name="Description" size="48" value="<?=$Description;?>"> <p></p> 
    <!-- Primary Contact --> 
    <?php echo "<u>Primary Contact</u>:<p></p>Current value:&nbsp<b> " . $Primary_Contact . "</b>&nbsp New value: ";?> 
    <?php contact_list() ?> 
    <p></p> 
    <input type="submit"> 
</form> 
+0

을 무엇을 얻을 말해? –

+0

마음에 가장 먼저 떠오르는 것은'

'태그가 없지만 HTML을 게시하지 않았기 때문에 잘못된 것일 수 있습니다. –

+0

작동하는 텍스트 필드와 함께 을 포함하도록 수정되었습니다. – Haywood

답변

1

변경

echo "<option value='' >" .htmlspecialchars($row['Primary_Contact']). "</option>"; 

echo "<option value='".$row['Id']."'>" .htmlspecialchars($row['Primary_Contact']). "</option>"; 

에 그리고 난 당신의 dropdows을 추측하고 폼 태그 사이에있다. 액션 파일의 상단에

이를 입력하고 실제 HTML 출력은 무엇입니까

<?php 
print_r($_REQUEST); 
exit; 
?> 
0
echo "<option value='' >" .htmlspecialchars($row['Primary_Contact']). "</option>"; 

는 옵션 값이 비어 있습니다. 연락처의 ID를 추가하십시오.

그들이 말했듯이 우리는 <form> 태그를 볼 수 없으므로, 그 조각 앞에 추가한다고 가정합니다. 그러나 <option>의 값이 비어 있기 때문에 "게시하지 않습니다"라는 대답이 있습니다.

+0

작동하는 텍스트 필드와 함께 을 포함하도록 수정되었습니다. – Haywood

+0

좋다. '

관련 문제