我需要在同一个ID上的数据库表中插入动态文本框值,现在我可以只在不同的用户ID上插入值。如何将动态文本框值插入到使用php的相同ID的数据库表中?
当我试图插入动态文本框值到数据库表中的ID 1,动态文本框值不同的id像2,3,4等。并且也成为ID为1的零字段值。 http://i.stack.imgur.com/MPWTt.png
这里是我的HTML和JavaScript代码:
文件名:index.php文件
<!DOCTYPE html>
<html>
<head>
<SCRIPT src="http://code.jquery.com/jquery-2.1.1.js"></SCRIPT>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 5px;
}
table{
background-image: #eee;
}
</style>
</head>
<body>
<form name="registration" id="regis" method="post" enctype="multipart/formdata">
<table>
<th colspan="1">
<th>Details Mahall members</th>
</th>
<tr>
<td>Name of the person:</td>
<td>
<input type="text" name="first_name1" id="fname1" placeholder="Enter name" value=""/>
</td>
</tr>
<tr>
<td>Name of the father:</td>
<td>
<input type="text" name="first_name2" id="fname2" placeholder="Enter name" value=""/>
</td>
</tr>
<tr>
<td>Name of the mother:</td>
<td>
<input type="text" name="first_name3" id="fname3" placeholder="Enter name" value=""/>
</td>
</tr>
<tr>
<td>Details of family members:</td><td></td>
</tr>
<tr>
<td></td>
<td>
<table width="100%">
<tr>
<th><center>No:</center></th><th><center>Name</center></th><th><center>Age</center></th><th><center>Relation<strong></th><th><center>Occupation<strong></th>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
<DIV id="product">
<DIV class="product-item float-clear" style="clear:both;">
<?php require_once("sub.php") ?>
</DIV>
</DIV></td></tr>
<tr><td></td><td> <DIV class="btn-action float-clear">
<input type="button" name="add_item" value="Add More" onClick="addMore();" />
<input type="button" name="del_item" value="Delete" onClick="deleteRow();" />
<span class="success"><?php if(isset($message)) { echo $message; }?></span>
</DIV>
</td>
</tr>
<tr>
<td>
<input type="submit" name="save" value="Submit"/>
<input type="reset" value="cancel"/>
</td><td></td>
</tr>
</table>
</form>
<SCRIPT>
function addMore() {
$("<DIV>").load("sub.php", function() {
$("#product").append($(this).html());
});
}
function deleteRow() {
$('DIV.product-item').each(function(index, item){
jQuery(':checkbox', this).each(function() {
if ($(this).is(':checked')) {
$(item).remove();
}
});
});
}
</SCRIPT>
</body>
</html>
文件名:sub.php
<DIV class="product-item float-clear" style="clear:both;">
<DIV class="float-left"><input type="checkbox" name="item_index[]" /></DIV>
<table cellspacing="2">
<tr>
<td><DIV class="float-left"><input type="text" name="name1[]" style="width:60px"/></DIV></td>
<td><DIV class="float-left"><input type="text" name="name2[]" style="width:90px"/></DIV></td>
<td><DIV class="float-left"><input type="text" name="name3[]" style="width:62px"/></DIV></td>
<td><DIV class="float-left"><input type="text" name="name4[]" style="width:130px"/></DIV></td>
<td><DIV class="float-left"><input type="text" name="name5[]" style="width:178px"/></DIV></td>
</DIV>
</tr>
</table>
这里是我的PHP代码插入到数据库
<?php
$username="root";
$password="sha12345";
$hostname="localhost";
$dbhandle = mysql_connect($hostname,$username,$password) or die("Could not connect to database");
$select = mysql_select_db("sha", $dbhandle);
if(isset($_POST['save']))
{
$personname = $_POST['first_name1'];
$fathername = $_POST['first_name2'];
$mothernname = $_POST['first_name3'];
mysql_query("INSERT INTO sha(Name_person,Name_father,Name_mother) VALUES ('$personname','$fathername','$mothernname')");
if(!empty($_POST["save"])) {
$itemCount = count($_POST["name1"]);
$itemValues=0;
$query = "INSERT INTO sha (no_members,name_members,age_members,relation_members,occupation_members) VALUES ";
$queryValue = "";
for($i=0;$i<$itemCount;$i++) {
if(!empty($_POST["name1"][$i]) || !empty($_POST["name2"][$i]) || !empty($_POST["name3"][$i]) || !empty($_POST["name4"][$i]) || !empty($_POST["name5"][$i])) {
$itemValues++;
if($queryValue!="") {
$queryValue .= ",";
}
$queryValue .= "('" . $_POST["name1"][$i] . "', '" . $_POST["name2"][$i] . "', '" . $_POST["name3"][$i] . "', '" . $_POST["name4"][$i] . "', '" . $_POST["name5"][$i] . "')";
}
}
$sql = $query.$queryValue;
if($itemValues!=0) {
$result = mysql_query($sql);
if(!empty($result)) $message = "Added Successfully.";
}
}
}
mysql_close();
?>
谢谢,实际上我可以将所有动态文本框的值都插入到表格中,但是我无法在相同的ID上插入。 – Shereefva 2015-03-13 14:51:31
感谢bheem raj,我可以正确插入第二个查询,但是问题出在值到不同的id's.you可以检出我现在附加的快照,比你会很容易理解我想问什么。 – Shereefva 2015-03-13 16:49:40
哦,你应该有两张桌子,比如说'1。用户','2。 fmembers',并且它们之间应该有'一对多'关系,LIKE:在'fmembers'中创建新的字段'user_id'。然后将'Name_person,Name_father,Name_mother'存储在'users'表中,得到'user_id = mysql_insert_id()'。使用'user_id'在'fmembers'表中存储'no_members etc'等其他信息。 – 2015-03-13 17:10:33