当前位置: 首页 > 知识库问答 >
问题:

下拉列表值未插入循环中的数据库

谈炳
2023-03-14

在这里,我尝试将所选下拉列表值插入数据库。但这里发生的是什么。

在这里,我有多个文本框和下拉框旁边。文本框的值正在正确插入数据库。

例如:假设有3个文本框和下拉列表。现在,我在文本框中输入一些数据,并在下拉列表中选择值,然后单击提交。

当我点击提交。将三个文本框值正确插入数据库。但是没有正确插入下拉列表值。但它插入最后一个下拉列表值3次。。。

如何解决这个问题?

javascript和php代码:此代码动态生成文本框和下拉列表

function create(param) {
    'use strict';
    var i, target = document.getElementById('screens');
    target.innerHTML = '';
    target.innerHTML = '<input name="RowCount" value="' + param + '" hidden />';
    for(i = 0; i < param; i += 1) {

       target.innerHTML +='</br>';
       target.innerHTML +='New Movie '+i+'  ';
       target.innerHTML += '<input type="text" name="Fname_' + i + '">';

       target.innerHTML +='  '+'Language '+'  ';
       target.innerHTML += "<?php 
        try {
            $dbh = new PDO('mysql:dbname=theaterdb;host=localhost','tiger','tiger');
        } catch (PDOException $e) {
            echo 'Connection failed: ' . $e->getMessage();
        }

        $sql = 'SELECT language FROM languages;';

        $sth = $dbh->prepare($sql);
        $sth->execute();

        echo "<select name='language' id='course'>";
        echo "<option>----Select Language----</option>"; 
        while($row = $sth->fetch(PDO::FETCH_ASSOC)) {
            echo "<option value='" . $row['language'] ."'>" . $row['language']. "</option>";
        }
        echo "</select>";
?>";

       target.innerHTML +='</br>';
       target.innerHTML +='</br>';
    }
}

PHP代码获取文本框和下拉值

<?php
mysql_connect("localhost", "tiger", "tiger") or die(mysql_error());
mysql_select_db("theaterdb") or die(mysql_error());
for ($i=0; $i < $_POST["range"] ; $i++)
{
$query = mysql_query("INSERT INTO movie (movie_name,language) VALUES('" . $_POST['Fname_' . $i] . "','" . $_POST['language'] . "') ") or die(mysql_error());
}
?> 

共有1个答案

宗政法
2023-03-14

您需要为每个选择提供不同的name属性。您为文本字段所做的方式。

您可以使用与文本字段相同的技巧。也就是说,用循环索引追加selects的名称。

 类似资料:
  • 我正在尝试将用户在表单中输入的值插入数据库。 我有两个下拉列表用于血液测试,然后是分类。例如,用户首先选择下拉列表1“甲状腺”(类别),然后下拉列表2显示“FT4、FT3 TSH”(血液检测)等,用户进行选择。 然后他们输入日期和值。 在我的insert中,我需要在我的数据库中插入用户id(在使用会话变量登录后建立)、血液测试id(从下拉列表2)、日期和值。 我不能得到我的SQL查询正确的插入一般

  • 总控制员。php 错误是 查询连接中的异常。php第673行:SQLSTATE[23000]:完整性约束冲突:1048列“帐户类型”不能为空(SQL:insert into(,,,)值(6000,20/05/2016,Doc0001,) 我在帐户类型上得到一个错误,它的值应该是从下拉列表中选择的值。有人来帮忙我是拉威尔的新手

  • 我正在对php页面进行调整,希望最终用户能够从下拉列表中选择“姓名和电子邮件”。数据将来自mySQL数据库。 我已经设法让它部分工作,但是必须有东西做一个"验证",因为当页面上的所有数据都被选中,最终用户试图提交页面时,最终用户会收到电子邮件地址是无效,而事实上它是100%有效的。 与此相关,我更改的部分是,最终用户过去必须手动键入他们的电子邮件地址,现在他们可以从下拉列表中选择,但现在它告诉我们

  • 我在将下拉选项值(这是一个数字)拉入MySQL查询时遇到了一些问题。这里有一些代码供您使用: users.jsp 我得到的500个错误是: HTTP状态[500]-[内部服务器错误] 类型异常报告 说明服务器遇到意外情况,无法完成请求。 Exception org.apache.jasper.jasperException:在处理第[8]行的JSP页[/insert-user.JSP]时发生异常

  • 我有一个下拉循环,当我尝试从下拉列表中选择一个数字时,它会发出回声。但是当我插入它时,它不会执行,也不会显示在数据库中。但是,当我将$\u POST值更改为静态数字时,它会插入并显示。比如$x=$_POST['category'];它不插入,但$x=3;它在数据库中插入了以下内容:

  • 我有一个包含项目列表的下拉列表。我的问题是我想接收我选择的值,但我收到了null。 我创建GET请求: 我的POST请求如下所示: 当我尝试打印收到的输出时: