2013-12-11 153 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將是一個數組,其元素中包含所有輸入值。