如何从下拉列表中获取值并插入 MySQL Workbench?

Posted

技术标签:

【中文标题】如何从下拉列表中获取值并插入 MySQL Workbench?【英文标题】:How to get the value from dropdowns and insert into MySQL Workbench? 【发布时间】:2019-08-27 15:03:24 【问题描述】:

在我选择下拉列表中的一项后,所选选项不会显示在 mysql Workbench(版本 8)中。

下面提供的代码(包括 php 代码)在我的名为 crimenewscrimetypes 的表中,还有许多其他列,但我的问题是所选选项未显示在 MySQL Workbench 中。

Connect.php

<?php 
      $server = "xxx.xxx.xxx.xxx"; //xxx=number
      $username = "xxx";
      $password = "xxx";
      $dbname = "xxx";
      //Establish database connection
      $conn = new mysqli($server, $username, $password, $dbname);
      if($conn->connect_error)
      
        die("Connection failed: ". $conn->connect_error);
      
?>

Front.php (主页)

已经包含 connect.php

<form method="post" action="add.php"><center style="color: #FFFFC9 ; font-family: Arial">     
        <b>Category: </b> 
        <select name="catagory">
        <?php
            $type = "SELECT crime_type FROM crimetypes";
            $qry = mysqli_query($conn,$type);
            while($fin = mysqli_fetch_assoc($qry))
            
        ?>  <option value="<?php echo($fin["crime_type"]);?>"><?php echo($fin["crime_type"]);?></option>
        <?php            
            
        ?>                      
        </select>
        <b>URL: </b> <input type="url" name="url" placeholder="URL (www.)"><br><br>
        <b>Date: </b> <input type="datetime-local" name="datetime"><br><br>               
        <b>Latitude: </b> <input type="text" name="lat" placeholder="Latitude"><br><br>
        <b>Longitude: </b> <input type="text" name="lng" placeholder="Longitude"><br><br>
        <input type="submit" class="btn btn-success" value="Add"> //Submit button 
</form>

添加.php

已经包含 connect.php

    //For adding news
    $category = $_POST['category']; 
    $url = $_POST['url'];
    $datetime = $_POST['datetime'];
    $lat = $_POST['lat'];
    $lng = $_POST['lng'];
    $sql = "INSERT INTO crimenews (crimenews_type, crimenews_url, crimenews_date, crimenews_locationLat, crimenews_locationLong) VALUES ('$category', '$url', '$datetime', '$lat', '$lng')";

    if($conn->query($sql) === TRUE)
    
        header("location: front.php");
    
    else
    
        echo "Error!";
    

MySQL Workbench 中的犯罪类型表

    crimetype_id|crime_type
    ------------|-----------
            1   | A
            2   | B
                 .
                 .
                 .

MySQL Workbench 中的犯罪新闻表 (这确实发生了)

crimenews_id|crimenews_type|crimenews_url|crimenews_date|crimenews_locationLat|crimenews_locationLong
------------|--------------|-------------|--------------|---------------------|----------------------
        1   |              |             |              |                     |
        2   |              |             |              |                     |
                           .
                           .
                           .

这是 MySQL Workbench 中的预期结果(犯罪新闻表)

crimenews_id|crimenews_type|crimenews_url|crimenews_date|crimenews_locationLat|crimenews_locationLong
------------|--------------|-------------|--------------|---------------------|----------------------
        1   |       A      |             |              |                     |
        2   |       B      |             |              |                     |
                           .
                           .
                           .

如何从crimetypes表中获取crime_type中的值并插入到crimenews_type的crimenews表中?

【问题讨论】:

...(other columns) - 请不要向我们显示伪代码,向我们显示您的实际代码。 INSERT INTO database您没有名为database的表 我已经编辑并添加了更多代码并进行了一些拼写检查,谢谢。 @GrumpyCrouton 【参考方案1】:

您选择的名称是catagory,在$_POST 中,您的名称为category。你必须改变它。

【讨论】:

以上是关于如何从下拉列表中获取值并插入 MySQL Workbench?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 MySQL 数据库中获取最后一个插入值并更新 Access 中的字段?

如何获取json数组值并显示在angularjs的下拉列表中?

如何从下拉列表中选择多个项目并将多个值插入 MYSQL

是否可以从我的 MySQL 数据库中的一个表中的一行中获取一个值并插入到同一数据库中的另一个表中?

从 Thymeleaf 下拉列表中获取选定的值

从Yii上的多个选择下拉列表中获取值以插入数据库