PHP下拉菜单不通过POST发送

时间:2015-01-22 15:52:36

标签: php html mysql

我有从MySQL表中提取的PHP函数构建的下拉菜单。下拉工作正常,但所选的选项不是POST。我怀疑问题在于如何在PHP中创建HTML选择标记,但我似乎无法找到纠正它的方法。我已经四处寻找,但似乎没有任何效果。

以下是构建下拉列表的PHP函数:

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的示例。说明文本框很好,所以我不认为问题出在表单标签上。

<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>

2 个答案:

答案 0 :(得分:1)

更改

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

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

我猜你的投影是在表格标签之间。

在操作文件的顶部输入此内容并告诉我们您的内容

<?php
print_r($_REQUEST);
exit;
?>

答案 1 :(得分:0)

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

当您发布时,选项值为空。添加联系人的ID。

正如他们所说,我们看不到<form>标签,我们“假设”您在该标签之前添加它。但“未发布”的答案是因为<option>的值为空。