我有三列
国家(id,国家/地区名称)
州(id、国家/地区id、州/地区名称)
文件\开发(id、国家\名称、州\名称)
country和state我使用onchange事件处理程序来选择元素,然后让它向我的php脚本发出ajax请求,每当用户选择country时,它将显示相关的状态名称。
问题是在提交后我想插入国家名称,而不是它的值id
这是我正在使用的代码
<?php
if ($country_result->num_rows > 0) {
// output data of each row
while($row = $country_result->fetch_assoc()) {
?>
<option value="<?php echo $row["id"]; ?>">
<?php echo $row["country_name"]; ?></option><?php
我试着把$row[“id”]改成$row[“country\u name”],这里的任何帮助都将不胜感激
索引.php
<form class="form-horizontal" method="post" id="signin" enctype="multipart/form-data">
<div class="control-group">
<label class="control-label" for="inputPassword" placeholder="Select Gram Panchayat" ><strong>Select Gram Panchayat</strong></label>
<div class="controls">
<?php
require_once('../admin/lib/db.php');
$country_result = $conn->query('select * from countries');
?>
<select name="country" class="chzn-select" id="countries-list" required>
<?php
if ($country_result->num_rows > 0) {
// output data of each row
while($row = $country_result->fetch_assoc()) {
?>
<option value="<?php echo $row["id"]; ?>"><?php echo $row["country_name"];?></option>
<?php
echo "<option value='". $row['id']."'>".$row['country_name'] .'</option>';
}
}
?>
</select>
</div>
</div>
<div class="control-group">
<label for="inputPassword" class="control-label" placeholder="Select Village" ><strong><strong>Select Village</strong></strong></label>
<div class="controls">
<select name="state" id="states-list" required>
</select>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$('#countries-list').on('change', function(){
var country_id = this.value;
$.ajax({
type: "POST",
url: "village_dev.php",
data:'country_id='+country_id,
success: function(result){
$("#states-list").html(result);
}
});
});
</script>
村庄\u dev.php
<?php
require_once('../admin/lib/db.php');
error_reporting(0);
$country_id = mysql_real_escape_string($_POST['country_id']);
if($country_id!='')
{
$states_result = $conn->query('select * from states where country_id='.$country_id.'');
$options = "<option value=''>Select Village</option>";
while($row = $states_result->fetch_assoc()) {
$options .= "<option value='".$row['state']."'>".$row['state']."</option>";
}
echo $options;
}
?>
让我知道,如果我在这里遗漏了什么,我想提交的价值名称,而不是id的数据库。
2条答案
按热度按时间wyyhbhjk1#
这里的问题是你想得到一些超出你的输入值的信息
这就是为什么你得到的是身份证而不是州名!
所以现在你就可以把你需要的东西发布到你的数据库了,你输入的值就是这个州的名字!
干杯
a2mppw5e2#
尝试
data-
html5属性:将您的国家/地区下拉代码更改为:
并使用以下内容更改ajax脚本: