当我的 html 中的一列有两个不同的名称时,如何在数据库中插入数据?

how to insert data in database when I have two different names in my html for one column?

我知道我的标题有点混乱,所以我会在这里进一步解释。我知道如何在数据库中插入数据,但是当我的 HTML 中有两个不同的名称应该插入到我的数据库中时,我不知道该怎么做。

我有一个国家下拉列表,select namecountry1。但是当用户选择 "Other" 时,文本框将出现在名称为 country2 的一侧,他应该输入他的国家。我希望当他选择 "Other" 并输入他的数据时,数据将插入到数据库中,或者当他从下拉列表中选择时,它也会插入。

当用户选择 "Other" 时,我希望他在文本框中输入的数据将是要插入数据库的数据,而不是单词 "Other",当他从中选择时除了 "Other" 之外的列表,我希望他选择的数据将是要插入到数据库中的数据。

请帮帮我。如果我的问题不够清楚,请告诉我。谢谢。

我的javascript代码

function ValidateCountry(val){
 var element=document.getElementById('country');
 if(val==='Other')
   element.style.display='block';
 else  
   element.style.display='none';
}

HTML代码

<form action="send.php" method="post">
    <select name="country1" onchange='ValidateCountry(this.value);'>
        <option> Select Country</option>
        <option value="USA"> Lawyer </option>
        <option value="Japan"> Nurse </option>
        <option value="Other"> Other </option>
    </select>
    <input type="text" name="country2" id="country" style='display:none;'/>
    <input type="submit" name="submit" />
</form>

还有我的 PHP 代码:

include 'dbcontroller.php';

if(isset($_POST['submit']))
{
    $country = $conn->real_escape_string(trim($_POST['country1']));
}
$query = "INSERT INTO info(occupation) VALUES ('$occupation')";
mysqli_query($conn,$query);

很简单,使用 if/else

if($_POST['country1'] == 'Other')
{
     $country = $_POST['country2'];
} else {
     $country = $_POST['country1'];
}

或者用一行:

$country = $_POST['country1'] == 'Other' ? $_POST['country2'] : $_POST['country1'];

然后您可以在查询中使用 $country

你只需要做一个简单的比较:

if ($_POST['country1'] == 'Other') {
    $country = $conn->real_escape_string(trim($_POST['country2']));
} else {
    $country = $conn->real_escape_string(trim($_POST['country1']));
}
include 'dbcontroller.php';

if(isset($_POST['submit']))
{
    $country = $conn->real_escape_string(trim($_POST['country1'] != 'Other' ? $_POST['country1'] : $_POST['country2']));
}
$query = "INSERT INTO info(occupation) VALUES ('$occupation')";
mysqli_query($conn,$query);

如果用户在 country2

中输入了某些内容,请检查您的 php
if($_POST["country2"] != "")
{
  $country = $conn->real_escape_string(trim($_POST['country2']));
}
else
{
  $country = $conn->real_escape_string(trim($_POST['country1']));
}

您可以在 php code.Like 以下

上使用 If else 条件
    include 'dbcontroller.php';

if(isset($_POST['submit']))
{
    $occupation = "";
    $country = $conn->real_escape_string(trim($_POST['country1']);
    if($country == "other"){
        $occupation = $_POST['country2'];
    }else{
        $occupation = $_POST['country1'];
    }
}
$query = "INSERT INTO info(occupation) VALUES ('$occupation')";
mysqli_query($conn,$query);