$(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);
<?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
答案 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>");
}
});
});
。
,