Php 使用db在for循环中预选选项
我有一个select标记,其中选项的数据来自数据库,现在我希望预先选择用户曾经选择过的选项字段Php 使用db在for循环中预选选项,php,ajax,mysqli,Php,Ajax,Mysqli,我有一个select标记,其中选项的数据来自数据库,现在我希望预先选择用户曾经选择过的选项字段 $id = $_GET['edit']; $obj = new employees(); $result = $obj->select_for_update($id); if (!empty($result)) { foreach ($result as $values){ <?php $result=$obj->select_cou
$id = $_GET['edit'];
$obj = new employees();
$result = $obj->select_for_update($id);
if (!empty($result)) {
foreach ($result as $values){
<?php
$result=$obj->select_country();
foreach ($result as $values1){
?>
<option value="<?php echo $values['country']; ?>" <?php if($values['country'] == $values1['country_id'] ) { echo 'selected="selected"'; } ?>>
<?php
echo $values1['country_name'];
?>
</option>
<?php
}
?>
</select>
<select id="state" name="state" >
<?php
$result=$obj->select_state();
foreach ($result as $values1){
?>
<option value="<?php echo $values['state']; ?>" <?php if($values['state'] == $values1['state_id'] ) { echo 'selected="selected"'; } ?>>
<?php
echo $values1['state_name'];
?>
</option>
<?php
}
?>
</select>
<select id="city" name="city" value="<?php echo $values['city']; ?>" >
<?php
$result=$obj->select_city();
foreach ($result as $values1){
?>
<option value="<?php echo $values['city']; ?>" <?php if($values['city'] == $values1['city_id'] ) { echo 'selected="selected"'; } ?>>
<?php
echo $values1['city_name'];
?>
</option>
<?php
}
?>
</select>
选择函数
我正在从数据库获取数据,并希望打印选中的数据
$id = $_GET['edit'];
$obj = new employees();
$result = $obj->select_for_update($id);
if (!empty($result)) {
foreach ($result as $values){
<?php
$result=$obj->select_country();
foreach ($result as $values1){
?>
<option value="<?php echo $values['country']; ?>" <?php if($values['country'] == $values1['country_id'] ) { echo 'selected="selected"'; } ?>>
<?php
echo $values1['country_name'];
?>
</option>
<?php
}
?>
</select>
<select id="state" name="state" >
<?php
$result=$obj->select_state();
foreach ($result as $values1){
?>
<option value="<?php echo $values['state']; ?>" <?php if($values['state'] == $values1['state_id'] ) { echo 'selected="selected"'; } ?>>
<?php
echo $values1['state_name'];
?>
</option>
<?php
}
?>
</select>
<select id="city" name="city" value="<?php echo $values['city']; ?>" >
<?php
$result=$obj->select_city();
foreach ($result as $values1){
?>
<option value="<?php echo $values['city']; ?>" <?php if($values['city'] == $values1['city_id'] ) { echo 'selected="selected"'; } ?>>
<?php
echo $values1['city_name'];
?>
</option>
<?php
}
?>
</select>
像我一样,一旦用户选择了印度,印度存储在数据库中,现在当用户来编辑选择标签时,选择标签将在选项标签中显示预先选择的印度
调用ajax的脚本
ajaxData.php
在这条线上,
$country_id = "1"; // considering 1 is country_id of India
<option value="<?php echo $values['country_id']; ?>"
<?php (!empty($country_id) && $country_id == $values['country_id'] ? 'selected' : ''; )?> >
检查上面我用过的三元运算符 在编辑时,您需要将保存的国家/地区与此处进行比较 如果要添加/编辑的页面相同,则需要传递$country\u id=0;在添加时,所以不会得到未定义的变量错误
您如何存储用户选择的国家/地区?您选择的国家/地区在PHP的数组函数中的何处?请检查!您仍然没有从数据库中获取所选的国家/地区id,您将如何使用它进行选择?$country\u id=$yourCountryId和rest应该可以很好地工作。如何同时获取州和市?如何同时获取州和市?我不知道,伙计!好的,所以不需要通过$country\u id=0;在编辑时,从添加时间中删除比较条件。我如何同时获取州和市?我如何同时获取州和市?在编辑时,您需要执行相同的过程,获取国家id、州id和市id,并将其与相应的城市id进行比较!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#country").change(function(){
var countryID = $(this).val();
if(countryID){
$.ajax({
type:'POST',
url:'ajaxData.php',
data:'country_id='+countryID,
success:function(html){
$('#state').html(html);
$('#city').html('<option value="">Select state first</option>');
}
});
}else{
$('#state').html('<option value="">Select country first</option>');
$('#city').html('<option value="">Select state first</option>');
}
});
$('#state').on('change',function(){
var stateID = $(this).val();
if(stateID){
$.ajax({
type:'POST',
url:'ajaxData.php',
data:'state_id='+stateID,
success:function(html){
$('#city').html(html);
}
});
}else{
$('#city').html('<option value="">Select state first</option>');
}
});
});
</script>
<?php
$dbHost = 'ops';
$dbUsername = 'dhruv_thakkar';
$dbPassword = 'pass';
$dbName = 'dhruv_thakkar';
$con= new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
if ($con->connect_error) {
die("Connection failed: " . $con->connect_error);
}
$country_id=$_POST['country_id'];
$state_id=$_POST['state_id'];
if(isset($_POST['country_id'])){
$query=mysqli_query($con,"select * from state where country_id='$country_id'");
$rowCount = $query->num_rows;
if($rowCount > 0){
echo '<option value="">Select state</option>';
while($row = $query->fetch_assoc()){
echo '<option value="'.$row['state_id'].'">'.$row['state_name'].'</option>';
}
}
else{
echo '<option value="">State not available</option>';
}
}
if($_POST['state_id']){
$query=mysqli_query($con,"select * from city where state_id='$state_id'");
$rowCount = $query->num_rows;
if($rowCount > 0){
echo '<option value="">Select city</option>';
while($row = $query->fetch_assoc()){
echo '<option value="'.$row['city_id'].'">'.$row['city_name'].'</option>';
}
}else{
echo '<option value="">City not available</option>';
}
}
?>
$country_id = "1"; // considering 1 is country_id of India
<option value="<?php echo $values['country_id']; ?>"
<?php (!empty($country_id) && $country_id == $values['country_id'] ? 'selected' : ''; )?> >
$country_id = '1';//assume this is from your DB
<select value="" id="country" name="country">
<option>Select Country</option>
<?php $result=$obj->select_country();
if (!empty($result)) {
foreach ($result as $values){ ?>
<option value="<?php echo $values['country_id']; ?>" <?php if($values['country_id'] == $country_id) { echo 'selected="selected"'; } ?> >
<?php echo $values['country_name'];?>
</option>
<?php }
}else{
echo '<option value="">Country not available</option>';
}
?>
</select>