Php 在表单上添加更多字段并插入mysql数据库
我有一个表单,我想给一个添加更多项目的链接来添加三个文本框。用户最多可以添加7次。这意味着用户可以一次输入7项 第二个问题是,我想将这7个项目分别插入mysql表中。我该怎么做呢Php 在表单上添加更多字段并插入mysql数据库,php,javascript,mysql,Php,Javascript,Mysql,我有一个表单,我想给一个添加更多项目的链接来添加三个文本框。用户最多可以添加7次。这意味着用户可以一次输入7项 第二个问题是,我想将这7个项目分别插入mysql表中。我该怎么做呢 <form name="frmaddservice" action="" method="post" class="jNice" onsubmit="return checkaddservice();"> <p><label>Customer Name:</label
<form name="frmaddservice" action="" method="post" class="jNice" onsubmit="return checkaddservice();">
<p><label>Customer Name:</label><input name="txtcustname" type="text" class="text-long" /></p>
<p><label>Customer Phone:</label><input name="txtcustphone" type="text" class="text-long" /></p>
<p><label>Customer Email:</label><input name="txtcustemail" type="text" class="text-long" /></p>
<div id="fieldset">
<p><label>Item Type:</label>
<select name="seltype">
<option>Select Type</option>
<?php
while($rowitem = mysql_fetch_assoc($seltype))
{
?>
<option><?php echo $rowitem['item_name']; ?></option>
<?php
}
?>
</select>
</p>
<p><label>Item Brand</label><input name="txtitembrand" type="text" class="text-long"></textarea></p>
<p><label>Item Quantity:</label><input name="txtqty" type="text" class="text-long" /></p>
<p><label>Item Description</label><textarea name="txtdesc"></textarea></p>
<p><label>Item Warranty Date:</label><input name="txtdate" type="text" class="text-long" />
<script language="JavaScript">
new tcal ({
// form name
'formname': 'frmaddservice',
// input name
'controlname': 'txtdate'
});
</script>
</p>
<input type="submit" value="Add Service"/>
</div>
</form>
客户名称:
客户电话:
客户电子邮件:
项目类型:
选择类型
商品品牌
项目数量:
项目说明
项目保修日期:
新tcal({
//表格名称
'formname':'frmaddservice',
//输入名称
“controlname”:“txtdate”
});
我已经上传了,请看一下
验证码
<SCRIPT TYPE="TEXT/JAVASCRIPT">function IsNumeric(strString)
{
var strValidChars = "0123456789";
var strChar;
var blnResult = true;
if (strString.length == 0) return false;
for (i = 0; i < strString.length && blnResult == true; i++)
{
strChar = strString.charAt(i);
if (strValidChars.indexOf(strChar) == -1)
{
blnResult = false;
}
}
return blnResult;
}function checkaddservice(){
with (window.document)
{
if(frmaddservice.txtcustname.value == "")
{
alert("Please enter Customer's Name.");
frmaddservice.txtcustname.focus();
return false;
}
if(frmaddservice.txtcustphone.value == "")
{
alert("Please enter Customer's phone.");
frmaddservice.txtcustphone.focus();
return false;
}
if(IsNumeric(frmaddservice.txtcustphone.value) == "false")
{
alert("Please enter Valid phone.");
frmaddservice.txtcustphone.focus();
return false;
}
for(var i=0; i<7; i++)
{
if(frmaddservice.elements["seltype" + i].value == "Select Type")
{
alert("Please Select Item Type!");
return false;
}
if(frmaddservice.elements["txtqty" + i].value == "")
{
alert("Please Enter Item Quantity!");
return false;
}
var qty = frmaddservice.elements["txtqty" + i].value;
if(IsNumeric(qty) == "false")
{
alert("Please Enter Valid Quantity!");
frmaddservice.elements["txtqty" + i].focus();
return false;
}
}
}}</SCRIPT>
函数为数值型(strString)
{
var strValidChars=“0123456789”;
var-strChar;
var blnResult=真;
if(strString.length==0)返回false;
对于(i=0;i
将[]
添加到名称
属性的末尾
在按钮的上单击
,克隆它们
继续操作时,请检查以确保少于7
您必须使用php吗?如果您使用javascript,您可以添加字段而无需刷新页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
<script type="text/javascript" charset="utf-8">
$(function(){
$(".datepicker").live('click', function() {
$(this).datepicker({showOn:'focus'}).focus();
});
});
</script>
<script type="text/javascript">
var num=0;
function addField(){
num++;
if(num>7){num--;}
makefields();
}
function rmField(){
num--;
if(num<0){num++;}
makefields();
}
function makefields(){
var fields="";
for(var o=0;o<=num;o++){
fields+="<p><label>Item Type:</label><select name=\"seltype"+o+"\"><option>Select Type</option>";
<?php $seltype = mysql_query("select * from tblitemtype"); while($rowitem = mysql_fetch_assoc($seltype)){ echo "fields+=\"<option>".$rowitem['item_name']."</option>\";"; } ?>
fields+="</select></p>";
fields+="<p><label>Item Brand</label><input name=\"txtitembrand"+o+"\" type=\"text\" class=\"text-long\"></textarea></p>";
fields+="<p><label>Item Quantity:</label><input name=\"txtqty"+o+"\" type=\"text\" class=\"text-long\" /></p>";
fields+="<p><label>Item Description</label><textarea name=\"txtdesc"+o+"\"></textarea></p>";
fields+="<p><label>Item Warranty Date:</label><input name=\"txtdate"+o+"\" type=\"text\" class=\"datepicker\">";
}
fields+="<br/><input type=\"hidden\" name=\"num\" value=\""+o+"\"/>";
if(num!=6){fields+="<button type=\"button\" onclick=\"addField()\">Add</button>";}
if(num>0){fields+="<button type=\"button\" onclick=\"rmField()\">Remove</button>";}
fields+="<input type=\"submit\" value=\"Add Service\"/></form>";
document.getElementById("fields").innerHTML=fields;
}
</script>
<script language="JavaScript" src="calendar_us.js"></script>
</head>
<body>
<form name="frmaddservice" action="" method="post" class="jNice" onsubmit="return checkaddservice();">
<fieldset>
<p><label>Customer Name:</label><input name="txtcustname" type="text" class="text-long" /></p>
<p><label>Customer Phone:</label><input name="txtcustphone" type="text" class="text-long" /></p>
<p><label>Customer Email:</label><input name="txtcustemail" type="text" class="text-long" /></p>
<div id="fields">
<p><label>Item Type:</label>
<select name="seltype0">
<option>Select Type</option>
<?php $seltype = mysql_query("select * from tblitemtype");
while($rowitem = mysql_fetch_assoc($seltype))
{
?>
<option><?php echo $rowitem['item_name']; ?></option>
<?php
}
?>
</select>
</p>
<p><label>Item Brand</label><input name="txtitembrand0" type="text" class="text-long"></textarea></p>
<p><label>Item Quantity:</label><input name="txtqty0" type="text" class="text-long" /></p>
<p><label>Item Description</label><textarea name="txtdesc0"></textarea></p>
<p><label>Item Warranty Date:</label><input name="txtdate0" type="text" class="datepicker"/>
</p>
<input type="hidden" name="num" value="1"/><a href="#" onclick="addField()">Add</a>
<input type="submit" value="Add Service"/>
</div>
</fieldset>
</form>
</body>
</html>
无标题文件
$(函数(){
$(“.datepicker”).live('click',function(){
$(this.datepicker({showOn:'focus'}).focus();
});
});
var num=0;
函数addField(){
num++;
如果(num>7){num--;}
makefields();
}
函数rmField(){
num--;
if(num
字段+=“”;
字段+=“项目品牌””;
字段+=“项目数量:”;
字段+=“项目说明””;
字段+=“项目保修日期:”;
}
字段+=“
”;
如果(num!=6){fields+=“Add”}
如果(num>0){fields+=“Remove”;}
字段+=“”;
document.getElementById(“字段”).innerHTML=字段;
}
客户名称:
客户电话:
客户电子邮件:
项目类型:
选择类型
商品品牌
项目数量:
项目说明
项目保修日期:
然后需要修改此脚本以容纳所有字段,并将数据发送到现有的不同表:
<?php
//your connection data
$sets=mysql_real_escape_string($_REQUEST["num"]);
for($loop=0;$loop<$sets;$loop++){
$b="txtitembrand".$loop;
$q="txtqty".$loop;
$d="txtdesc".$loop;
$brand=mysql_real_escape_string($_REQUEST[$b]);
$quantity=mysql_real_escape_string($_REQUEST[$q]);
$description=mysql_real_escape_string($_REQUEST[$d]);
$store="INSERT INTO tablename (itembrand,quantity,desc) VALUES ('$brand',$quantity,'$description')";
$go=mysql_query($store);
}
?>
首先,你的HTML看起来有点滑稽。。。
我只想稍微修改一下:
<fieldset>
<label for='brand'>Item Brand</label><br>
<input id='brand' name="txtitembrand" type="text" class="text-long"><br>
<label for='quantity'>Item Quantity</label><br>
<input id='quantity' name="txtqty" type="text" class="text-long"><br>
<label for='desc'>Item Description</label><br>
<textarea id='desc' name="txtdesc"></textarea><br>
<input type="submit" value="Add Service"/>
</fieldset>
那么…到目前为止你尝试了什么?我不知道。我只是在学习输入旁边的phpA标签
,它们之间没有任何语义关系;将输入
作为标签
的子项,或者将它们与链接以获得/id
。你能建议我如何在点击按钮并插入它吗nto tablephp脚本发送给我3个错误未定义索引:txtitembrand1在C:\wamp\www\KC\test1.php的第9hi Robot Woods行,有一些问题,我想在页面加载时显示1个字段集。然后,如果用户想添加更多字段,他可以添加。我做了更改,但在覆盖旧版本之前,看看我做了什么,以便您理解如何根据需要继续进行更改。(如果您觉得问题已经解决,请接受答案)我在代码中进行了更改。我只希望用户只能添加字段集id的内部字段。我不希望添加客户信息的字段,也希望将这些字段插入到2个表中。使用代码时,字段中出现未终止的字符串文字错误+=“…请帮帮我,我想用javascript完成。机器人伍兹的代码很好用。谢谢
<a href='/mypage.php?action=addrows&numrows=7'>Add more rows!</a>
echo '<a href="/mypage.php?action=addrows&numrows=' . $_SESSION['numrows'] . '>Add more rows!</a>';
if (isset($_GET['action']) && $_GET['action'] == 'addrows') {
if (isset($_GET['numrows'])) {
$numrows = 0 + $_GET['numrows'] // add zero to cast to int
if ($numrows > 0 && $numrows <= 7) {
$_SESSION['numrows'] = $numrows;
}
}
}
for ($i = 0; $i < $_SESSION['numrows']; $i++): ?>
<fieldset>
...
<input ... name='txtqty<?php echo $i ?>'
...
</fieldset>
<?php endfor; ?>
INSERT INTO tablename (col1, col2, col3...)
VALUES (row1col1, row1col2, row1col3...) (row2col1...)