选择标记无法收集HTML

时间:2016-06-16 03:59:02

标签: php html mysql

我有一个HTML表单,其中select标签用于输入,有4个选项,其中最后一个名称为other。当选择其他文本字段时,可以给出输入:

HTML表单:

<html>
<head>
    <script type="text/javascript">
    $('select').on('change', function(){
    if($(this).val()=='Other:'){
    $('#other').show().focus();
    }else{
    $('#other').val('').hide();
    }
    })
    </script>
</head>
<body>
<tr>
  <td>
    <label>Options : </label>
  </td>
  <td>
    <select name="Options">
    <option value="Option-1">Option-1</option>
    <option value="Option-2">Option-2</option>
    <option value="Option-3">Option-3</option>
    <option value="Other:">Other</option>
    </select>
    <input type="text" id="other" style="display:none" name="other"  style="display:none"/>
  </td>
</tr>
</body>
</html>

插入DB时只能插入文本字段中添加的值。选项1,2,3中的哪些部分未被收集并插入数据库中。

在mysql DB中插入值的PHP代码:

<?php
$link = mysqli_connect("localhost", "root", "", "database");
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}
$Options = mysqli_real_escape_string($link, $_POST['Options'], $_POST['other']);
$sql = "INSERT INTO Table (Options) VALUES ('$Options');
if(mysqli_query($link, $sql)){
    echo "Records added successfully.";
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
mysqli_close($link);
?>

我想收集选择并插入数据库的选项。目前我只能插入另一个选项,通过文本字段输入数据。

提前致谢。

1 个答案:

答案 0 :(得分:1)

使用if else在值之间切换,具体取决于通过选择列表给出的输入。

if($_POST["Options"] !== "Other:"){
    $Options = mysqli_real_escape_string($link, $_POST['Options']);
}else{
    $Options = mysqli_real_escape_string($link, $_POST['other']);
}
$sql = "INSERT INTO Table (Options) VALUES ('$Options')";
// ...