2016-04-27 7 views
1

私は私のタイトルがちょっと混乱していることを知っていますので、ここでさらに説明します。私はデータベースにデータを挿入する方法を知っていますが、自分のHTMLに自分のデータベースに挿入する必要がある2つの異なる名前があるときは、どうやってそれを行うのか分かりません。1つの列のHTMLに2つの異なる名前がある場合、データベースにデータを挿入する方法はありますか?

私は国のドロップダウンリストを持っており、select namecountry1です。ユーザーが「その他」を選択すると、名前がcountry2の側にテキストボックスが表示され、国を入力する必要があります。彼が「その他」を選択してデータを入力すると、そのデータがデータベースに挿入されるか、ドロップダウンリストから選択すると挿入されます。

ユーザが「その他」を選択すると、テキストボックスに入力したデータがデータベースに挿入され、「その他」という単語ではなく、「その他」以外のリストから選択すると"、私は彼が選択したデータがdbに挿入されるデータになることを望みます。

私を助けてください。私の質問が十分明確でない場合は教えてください。ありがとうございました。

私の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); 
+0

名前を付けてください「国」のような同じ名前。最後に来る入力は受け取った値になります。 – AbraCadaver

+0

私はそれを行ったが、どちらのデータも挿入しない.. @AbraCadaver – Felix

+0

コントローラにif条件を追加し、country1が他のものと等しくないことを確認してから別の変数country = country1を設定するelse country = country2 – Ibrahim

答えて

3

は非常に単純に、使用している場合/他

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

または1つのラインで:

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

次に、あなたがあなたのクエリで$countryを使用することができます。

+0

私はこれを試してみます。 :) – Felix

+0

それは働いた!どうもありがとうございます!!! – Felix

+0

問題はありません。うれしいです! – aynber

1

あなただけの単純な比較を行う必要があるだろう。ただ、ユーザーの入力ならば、あなたのPHPにあなたが上の場合は他の条件を使用することができますCOUNTRY2

if($_POST["country2"] != "") 
{ 
    $country = $conn->real_escape_string(trim($_POST['country2'])); 
} 
else 
{ 
    $country = $conn->real_escape_string(trim($_POST['country1'])); 
} 
0
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); 
0

をあなたのPHPコード。次のようなもの

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); 
0

に何かをチェック

if ($_POST['country1'] == 'Other') { 
    $country = $conn->real_escape_string(trim($_POST['country2'])); 
} else { 
    $country = $conn->real_escape_string(trim($_POST['country1'])); 
} 
関連する問題