使用 db 在 for 循环中预先选择的选项

用户10540976

我有一个选择标签,其中的选项数据来自数据库,现在我想预先选择用户曾经选择过的选项字段。

$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>

选择国家/地区城市的功能

  function select_country(){
          $sth =  $this->con->prepare("SELECT  * from country");
          $sth->execute();
          $result = $sth->fetchAll(PDO::FETCH_ASSOC);
           return $result;
      }

      function select_state(){
          $sth =  $this->con->prepare("SELECT  * from state");
          $sth->execute();
          $result = $sth->fetchAll(PDO::FETCH_ASSOC);
          return $result;
      }

      function select_city(){
          $sth =  $this->con->prepare("SELECT  * from city");
          $sth->execute();
          $result = $sth->fetchAll(PDO::FETCH_ASSOC);
          return $result;
      }

选择功能

function select_for_update($id){
    $sth =  $this->con->prepare("SELECT * FROM employees
    LEFT JOIN country ON employees.country = country.country_id
    LEFT JOIN state ON employees.state = state.state_id
    LEFT JOIN city ON employees.city = city.city_id WHERE emp_id='$id'");
    $sth->execute();
    $result = $sth->fetchAll(PDO::FETCH_ASSOC);

    return $result;
}

我正在从数据库获取数据并希望打印所选的数据。

就像我曾经选择了印度,印度存储在数据库中,现在当用户编辑选择标签时,将在选项标签中显示预先选择的印度

调用ajax的脚本

<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>    

ajaxData.php

<?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>';
    }

}
?>
赫曼特

在编辑时,你需要得到你saved countrycompare这里,

如果你有相同的页面,ADD/EDIT那么你需要传递$country_id= 0; ADD时间,所以不会得到未定义的变量错误

$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>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery使用循环创建选择选项

来自分类Dev

如何使用“ Select2”预先选择值

来自分类Dev

无法预先选择选择值

来自分类Dev

使用R选择循环中的第n个字符

来自分类Dev

与纸张标签一起使用时,在铁页页面中预先选择一个默认页面

来自分类Dev

如何在使用JavaScript中预先选择<select>列表项

来自分类Dev

使用Materialize CSS FW预先选择多个选择框的选项不起作用

来自分类Dev

使用angular-ui-grid预先选择加载行

来自分类Dev

在For循环中使用选定的选项值

来自分类Dev

使用UIImagePickerController预先选择图像

来自分类Dev

无法使用JS循环获取选择的选项

来自分类Dev

预先选择的角度材料下拉列表

来自分类Dev

未在Node JS中获得结果,Mongo DB在循环中使用Promise

来自分类Dev

将自动完成的文本从预先选择的选项输入

来自分类Dev

使用基因剔除在选择框中预先选择一个值

来自分类Dev

对于使用Roo创建的项目,更新表单上的“选择”字段不会预先选择现有值

来自分类Dev

我如何使用jQuery基于localStorage预先选择选择框和复选框

来自分类Dev

使用for循环填充选择选项

来自分类Dev

使用预先选择的选项链接打开新页面(下拉)

来自分类Dev

使用for循环中的变量作为选择器?

来自分类Dev

预先选择了页面范围的acCmdPrint

来自分类Dev

使用laravel db查询中的json数据填充选择框

来自分类Dev

使用Materialize CSS FW预先选择多个选择框的选项不起作用

来自分类Dev

使用标题将DB2选择导出为CSV

来自分类Dev

预先选择的特定按钮 - HTML Thymeleaf

来自分类Dev

如何在 Rails f.select 项中预先选择一个选项?

来自分类Dev

Django:无法在 POST 时从选项菜单中预先选择

来自分类Dev

PHP 代码使用文本框输入插入 sql db,但不使用选择选项(下拉菜单)

来自分类Dev

由 --quickstart 选项构建的 Strapi 使用什么 DB?

Related 相关文章

  1. 1

    jQuery使用循环创建选择选项

  2. 2

    如何使用“ Select2”预先选择值

  3. 3

    无法预先选择选择值

  4. 4

    使用R选择循环中的第n个字符

  5. 5

    与纸张标签一起使用时,在铁页页面中预先选择一个默认页面

  6. 6

    如何在使用JavaScript中预先选择<select>列表项

  7. 7

    使用Materialize CSS FW预先选择多个选择框的选项不起作用

  8. 8

    使用angular-ui-grid预先选择加载行

  9. 9

    在For循环中使用选定的选项值

  10. 10

    使用UIImagePickerController预先选择图像

  11. 11

    无法使用JS循环获取选择的选项

  12. 12

    预先选择的角度材料下拉列表

  13. 13

    未在Node JS中获得结果,Mongo DB在循环中使用Promise

  14. 14

    将自动完成的文本从预先选择的选项输入

  15. 15

    使用基因剔除在选择框中预先选择一个值

  16. 16

    对于使用Roo创建的项目,更新表单上的“选择”字段不会预先选择现有值

  17. 17

    我如何使用jQuery基于localStorage预先选择选择框和复选框

  18. 18

    使用for循环填充选择选项

  19. 19

    使用预先选择的选项链接打开新页面(下拉)

  20. 20

    使用for循环中的变量作为选择器?

  21. 21

    预先选择了页面范围的acCmdPrint

  22. 22

    使用laravel db查询中的json数据填充选择框

  23. 23

    使用Materialize CSS FW预先选择多个选择框的选项不起作用

  24. 24

    使用标题将DB2选择导出为CSV

  25. 25

    预先选择的特定按钮 - HTML Thymeleaf

  26. 26

    如何在 Rails f.select 项中预先选择一个选项?

  27. 27

    Django:无法在 POST 时从选项菜单中预先选择

  28. 28

    PHP 代码使用文本框输入插入 sql db,但不使用选择选项(下拉菜单)

  29. 29

    由 --quickstart 选项构建的 Strapi 使用什么 DB?

热门标签

归档