Php 循环仅插入最后一个值
我使用php从textbox获取所有值,在一个循环中获取值 在循环中,我还有insert语句和count 流程是: 我将从下拉列表中选择值,当我从下拉列表中选择数字时,将创建相应数量的文本框 例如:-我已从下拉列表中选择了数字3。 因此,它将创建3个文本框 现在,我将在这3个文本框中输入数据,然后单击提交。 当我单击submit时,只有最后一个文本框的值被插入到数据库中 i、 e.当我选择3并在3文本框中输入数据时,它仅插入第3个文本框值3次,而不是插入第1、第2和第3个值 我怎样才能解决它 这是我用过的代码 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个值 我怎样才能解决它 这
试试看
试试看
您正在使用$\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]
我不知道你能做到这一点,如果它有效的话,它是一个比我的更快捷的解决方案