2013-12-11 154 views
0

我有一个表插入到数据库中的行。它目前仅限于2行:将行添加到HTML表并添加到数据库后

<form action='insert-expenses.php' method='post'> 
<input type='hidden' value='$taskid' name='taskid'> 
<table width='655' border='1'> 
<tr><td align='left' width='350'><input type='text' name='expense1' style='padding:2px;' size='80'></td><td align='center' width='100'><input type='text' name='expensecost1' style='padding:2px;' size='6'></td></tr> 
<tr><td align='left' width='350'><input type='text' name='expense2' style='padding:2px;' size='80'></td><td align='center' width='100'><input type='text' name='expensecost2' style='padding:2px;' size='6'></td></tr> 
<tr><td align='left' colspan='2'><input style='margin-top: 15px;' type='image' name='submit' src='http://bitrix24.co.uk/demo/report/add-week.jpg' ></td></tr> 
</table> 

我想要一个按钮来添加一个新行。我目前正在尝试使用:

<script> 
function displayResult() 
{ 
var table=document.getElementById("editTable"); 
var row=table.insertRow(0); 
var cell1=row.insertCell(0); 
var cell2=row.insertCell(1); 
cell1.innerHTML="New"; 
cell2.innerHTML="New"; 
} 
</script> 

然后使用按钮:

<button type="button" onclick="displayResult()">Insert new row</button> 

表将有ID = editTable。但是,如何让它具有下一个数字名称,因为我目前有费用1和费用2,所以希望下一个费用为3。我假设我需要做它作为一个数组,有一个行费用[],然后在我的插入:

sql3="INSERT into b_report_expenses (USER_ID,EXPENSE_ONE,EXPENSE_TWO,COST_ONE,COST_TWO) 
VALUES 
('$_POST[taskid]','$_POST[expense1]','$_POST[expense2]','$_POST[expensecost1]','$_POST[expensecost2]')"; 

所以我基本上像用户点击一个按钮,添加一行到HTML表,然后按另一个按钮将其添加到数据库。我只是不知道POST ['inputname']将如何被识别每一行添加。

您的帮助,将不胜感激

回答

1

请不要把数值名称 你应该把一个数组中的名称,如

<input name="expense[]".../> 

然后在PHP

YPU会得到它像

$expense = $_POST['expense']; 

其中$消费e将是一个数组,其元素中包含所有输入值。