Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 循环仅插入最后一个值_Php_Javascript_Jquery_Html_Mysql - Fatal编程技术网

Php 循环仅插入最后一个值

Php 循环仅插入最后一个值,php,javascript,jquery,html,mysql,Php,Javascript,Jquery,Html,Mysql,我使用php从textbox获取所有值,在一个循环中获取值 在循环中,我还有insert语句和count 流程是: 我将从下拉列表中选择值,当我从下拉列表中选择数字时,将创建相应数量的文本框 例如:-我已从下拉列表中选择了数字3。 因此,它将创建3个文本框 现在,我将在这3个文本框中输入数据,然后单击提交。 当我单击submit时,只有最后一个文本框的值被插入到数据库中 i、 e.当我选择3并在3文本框中输入数据时,它仅插入第3个文本框值3次,而不是插入第1、第2和第3个值 我怎样才能解决它 这

我使用php从textbox获取所有值,在一个循环中获取值

在循环中,我还有insert语句和count

流程是: 我将从下拉列表中选择值,当我从下拉列表中选择数字时,将创建相应数量的文本框

例如:-我已从下拉列表中选择了数字3。 因此,它将创建3个文本框

现在,我将在这3个文本框中输入数据,然后单击提交。 当我单击submit时,只有最后一个文本框的值被插入到数据库中

i、 e.当我选择3并在3文本框中输入数据时,它仅插入第3个文本框值3次,而不是插入第1、第2和第3个值

我怎样才能解决它

这是我用过的代码

php:

试试看

试试看


您正在使用$\u POST[“Fname”]进行插入。因此,您应该在for语句中使用count($\u POST[“Fname”])

您正在使用$\u POST[“Fname”]进行插入。因此,您应该在for语句中使用count($\u POST[“Fname”])

问题是,您正在使用与以前创建的输入相同的名称创建新输入,php的$\u POST[]在输入名称上加了一圈,您需要创建具有唯一名称的输入 差不多

for(i = 0; i < param; i += 1) {

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

<?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());
}
?>
(i=0;i{ target.innerHTML+='
'; target.innerHTML+='newmovie'+i+''; target.innerHTML+=''; }
问题是,您正在使用与以前创建的输入相同的名称创建新输入,php的$\u POST[]在输入名称上加了一个圈,您需要使用唯一的名称创建输入 差不多

for(i = 0; i < param; i += 1) {

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

<?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());
}
?>
(i=0;i{ target.innerHTML+='
'; target.innerHTML+='newmovie'+i+''; target.innerHTML+=''; } 将代码更改为:

for(i = 0; i < param; i += 1) {
  target.innerHTML +='</br>';
  target.innerHTML +='New Movie '+i+'  ';
  target.innerHTML += '<input type="text" name="Fname[]">';
}
(i=0;i{ target.innerHTML+='
'; target.innerHTML+='newmovie'+i+''; target.innerHTML+=''; }
php会自动将Fname[]转换为数组(),这样您就可以使用以下内容循环浏览您的电影名称:

<?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());
  }
?>
将代码更改为:

for(i = 0; i < param; i += 1) {
  target.innerHTML +='</br>';
  target.innerHTML +='New Movie '+i+'  ';
  target.innerHTML += '<input type="text" name="Fname[]">';
}
(i=0;i{ target.innerHTML+='
'; target.innerHTML+='newmovie'+i+''; target.innerHTML+=''; }
php会自动将Fname[]转换为数组(),这样您就可以使用以下内容循环浏览您的电影名称:

<?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());
  }
?>

当您将表单发布到服务器时,表单中的所有输入都会使用其名称属性发送到服务器。
在您的情况下,您已将输入名称指定为“Fname”。因此,只有一个名为“Fname”的输入被发送到服务器。因此,您只获得一个post输入,即$\u服务器[“Fname”]

只需将javascript代码更改为

for(i = 0; i < param; i += 1) {

       target.innerHTML +='</br>';
       target.innerHTML +='New Movie '+i+'  ';
       target.innerHTML += '<input type="text" name="Fname[]">';
}
(i=0;i{ target.innerHTML+='
'; target.innerHTML+='newmovie'+i+''; target.innerHTML+=''; }
使用Fname[]而不是Fname。 现在您正在发布Fname的数组。因此,您将在$\u服务器[“Fname”]中获得数组。在这里,您将收到数组中的所有Fname输入字段。因此,将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());
}
?>

当您将表单发布到服务器时,表单中的所有输入都会使用其名称属性发送到服务器。
在您的情况下,您已将输入名称指定为“Fname”。因此,只有一个名为“Fname”的输入被发送到服务器。因此,您只获得一个post输入,即$\u服务器[“Fname”]

只需将javascript代码更改为

for(i = 0; i < param; i += 1) {

       target.innerHTML +='</br>';
       target.innerHTML +='New Movie '+i+'  ';
       target.innerHTML += '<input type="text" name="Fname[]">';
}
(i=0;i{ target.innerHTML+='
'; target.innerHTML+='newmovie'+i+''; target.innerHTML+=''; }
使用Fname[]而不是Fname。 现在您正在发布Fname的数组。因此,您将在$\u服务器[“Fname”]中获得数组。在这里,您将收到数组中的所有Fname输入字段。因此,将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());
}
?>

$\u POST[Fname]
如果不声明常量
Fname
,将抛出错误。使用引号以给定字符串作为键访问值
$\u POST['Fname']
$\u POST[“Fname”]
$\u POST[Fname]
如果不声明常量
Fname
,将抛出错误。使用引号以给定字符串作为键访问值
$\u POST['Fname']
$\u POST[“Fname”]
缺少引号
$\u POST[Fname]
我不知道你能做到这一点,如果它有效的话,它是一个比我的更为快捷的解决方案缺少引号。@@code>$\u POST[Fname]
我不知道你能做到这一点,如果它有效的话,它是一个比我的更快捷的解决方案