【问题标题】:Country Dropdown list insert ID instead of Name(string) into Database(mysql)国家下拉列表将 ID 而不是名称(字符串)插入数据库(mysql)
【发布时间】:2017-10-24 04:10:29
【问题描述】:

大家好,各位专家,我的网站有问题将 ID 插入我的数据库而不是实际名称本身。

我很困惑,因为它在网页本身上显示的一切都很好(一个正确的名称显示为一个单独的国家、州和城市。

请帮助我确定我的代码中的问题所在。

非常感谢。

这是我的注册页面代码

<div>
                  <select name="country" class="country">
                  <option value="<?php echo $row['country_name'] ?>">--Select Country--</option>
                  <?php
                      $stmt = $conn->prepare("SELECT * FROM countries");
                      $stmt->execute();
                      while($row=$stmt->fetch(PDO::FETCH_ASSOC))
                      {
                  ?>
                  <option value="<?php echo $row['country_id']; ?>"><?php echo $row['country_name']; ?></option>
                  <?php
                      } 
                  ?>
                  </select>

                  <select name="state" class="state">
                      <option value="<?php echo $row['state_name'] ?>">--Select State--</option>
                  </select>

                  <select name="city" class="city">
                      <option value="<?php echo $row['city_name'] ?>">--Select City--</option>
                  </select>
                </div>
                <input type="submit" name="registration" value="REGISTER">
                <input type="reset" value=". . . RESET . . .">

这是另一个从以下字段获取数据的代码

获取状态码

<?php
include('db_conn.php');
if($_POST['id'])
{
    $id=$_POST['id'];

    $stmt = $conn->prepare("SELECT * FROM states WHERE country_id=:id");
    $stmt->execute(array(':id' => $id));
    ?><option selected="selected">--Select State--</option><?php
    while($row=$stmt->fetch(PDO::FETCH_ASSOC))
    {
        ?>
            <option value="<?php echo $row['state_id']; ?>"><?php echo $row['state_name']; ?></option>
        <?php
    }
}
?>

获取城市

    <?php
    include('db_conn.php');
    if($_POST['id'])
    {
        $id=$_POST['id'];

        $stmt = $conn->prepare("SELECT * FROM cities WHERE state_id=:id");
        $stmt->execute(array(':id' => $id));
        ?><option selected="selected">--Select City--</option>
        <?php while($row=$stmt->fetch(PDO::FETCH_ASSOC))
        {
            ?>
            <option value="<?php echo $row['city_id']; ?>"><?php echo $row['city_name']; ?></option>
            <?php
        }
    }

?>

和 Ajax 数据

<?php
//Include database configuration file
include('db_conn.php');

if(isset($_POST["country_id"]) && !empty($_POST["country_id"])){
    //Get all state data
    $query = $conn->query("SELECT * FROM states WHERE country_id = ".$_POST['country_id']." AND status = 1 ORDER BY state_name ASC");

    //Count total number of rows
    $rowCount = $query->num_rows;

    //Display states list
    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(isset($_POST["state_id"]) && !empty($_POST["state_id"])){
    //Get all city data
    $query = $conn->query("SELECT * FROM cities WHERE state_id = ".$_POST['state_id']." AND status = 1 ORDER BY city_name ASC");

    //Count total number of rows
    $rowCount = $query->num_rows;

    //Display cities list
    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>';
    }
}
?>

【问题讨论】:

    标签: php jquery mysql ajax post


    【解决方案1】:

    您插入选项值。

    echo '<option value="'.$row['city_id'].'">'.$row['city_name'].'</option>';
    

    在本例中为 city_id

    如果您想要名称,请将其设置为值:

     echo '<option value="'.$row['city_name'].'">'.$row['city_name'].'</option>';
    

    【讨论】:

    • @ftfm 您好,非常感谢您的回复,您的意思是我必须在我的 Ajax 文件中修复它,对吗?抱歉,我对这个 ajax 和 php 很陌生 =(
    猜你喜欢
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 2020-08-12
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多