html向下钻取下拉选定值未插入MYSQL

时间:2018-01-29 05:28:13

标签: javascript php jquery html mysql

我有两个下降。首先从数据库下拉填充。根据第一个下拉列表的选定值从数据库填充第二个下拉列表。

$(document).ready(function() {
  $("#c").change(function() {
    var c1 = $('#c :selected').text();
    if(c1 != "") {
      $.ajax({
        url:'getstatw.php',
        data:{c:c1},
        type:'POST',
        success:function(response) {
          var resp = $.trim(response);
          $("#c").html(resp);
        }
      });
    } else {
      $("#c").html("<option value=''>Select state</option>");
    }
  });
});
 <form id = "world" method="post" action="insert.php">
<select name="country" id="c" style = "width:200px" class="btn btn-primary dropdown-toggle" ;>
      <option>country</option>
	 
      <?php
       	  
      $sql = "select DISTINCT country from table1";
      $res = mysqli_query($con, $sql);
      if(mysqli_num_rows($res) > 0) {
        while($row = mysqli_fetch_object($res)) {
          echo "<option value='".$row->id."'>".$row->c."</option>";
		  
        }
      }
      ?>
    </select>
<br><br>
  <label for="s" >State</label>

<select name="State" id="s" style = "width:200px  " ; class="btn btn-primary dropdown-toggle";><option>Select state</option></select><br><br>
<button id = "sub" type="submit" class="btn btn-primary" disabled>Submit</button>
</form>
  

insert.php

$con=mysqli_connect("localhost","root","","world");

// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// escape variables for security
//home tab
$c = mysqli_real_escape_string($con, $_POST['country']);
$s = mysqli_real_escape_string($con, $_POST['state']);


//query for table_mainast
$sql1="INSERT INTO table1 (Country, State)
VALUES ('$c', '$s',)";
//query for table_dataast


if (!mysqli_query($con,$sql1)) {
  die('Error: ' . mysqli_error($con));
}

echo "1 record added";

mysqli_close($con); 
getstate.php

<?php
$con=mysqli_connect("localhost","root","","test");

// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

if(isset($_POST['c'])) {
  $sql = "select DISTINCT `State` from `table2` where `Country`='".mysqli_real_escape_string($con, $_POST['c'])."'";
  $res = mysqli_query($con, $sql);
  if(mysqli_num_rows($res) > 0) {
     echo "<option value=''>------- Select --------</option>";
    while($row = mysqli_fetch_object($res)) {
      echo "<option value='".$row->id."'>".$row->c."</option>";
    }
  }
} else {
  header('location: ./');
}


?>

我已经尝试了几乎所有在网上给出的解决方案。但是不明白我的数据没有插入到mysql数据库中。 How to insert HTML select value as text in MySQL via PHP PHP Drop down list selected value not inserted in the database

2 个答案:

答案 0 :(得分:0)

您需要正确地对它们进行连续处理,而且您还没有在查询的最后一列之后放置,

更改以下

$sql1="INSERT INTO table1 (Country, State)
VALUES ('$c', '$s',)";

$sql1="INSERT INTO table1 (country, state)
VALUES ('".$c."', '".$s."')";

答案 1 :(得分:0)

如果要在第二个下拉列表中添加选项,则需要使用append而不是html并使用相同的ID({1}}来编写ajax成功的响应,将其更改为第二个下拉ID,即#c

你可以试试这个:

#s

然后在插入查询中删除$(document).ready(function() { $("#c").change(function() { var c1 = $('#c :selected').text(); if(c1 != "") { $.ajax({ url:'getstatw.php', data:{c:c1}, type:'POST', success:function(response) { var resp = $.trim(response); $("#s").append(resp); } }); } else { $("#c").append("<option selected value=''>Select state</option>"); } }); });

,