1
我經歷了網站中幾乎所有以前的主題,並看到了如何使用單元名稱&數組變量將單元格中的值添加到mysql的選項。但是我找不到任何類似於用於動態創建錶行的innerhtml方法。請幫助。如何將動態創建的表中的數據存儲到mysql
這是我的HTML
<form action="test.php" method="post" name="f">
<table class="inventory">
<thead>
<tr>
<th><span contenteditable>SL. NO.</span></th>
<th><span contenteditable>DESCRIPTION/PURPOSE</span></th>
<th><span contenteditable>AMOUNT</span></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<INPUT type="submit" value="Insert" name="submit" />
</form>
<a class="add">+</a>
當我點擊+新行是使用JavaScript生成的。當我點擊「 - 」時,該行就會被刪除。
這是我點擊事件
function onClick(e) {
var element = e.target.querySelector('[contenteditable]'), row, rowCount, targetTbl;
element && e.target != document.documentElement && e.target != document.body && element.focus();
if (e.target.matchesSelector('.add')) {
document.querySelector('table.inventory tbody').appendChild(generateTableRow());
}
else if (e.target.className == 'cut') {
row = e.target.ancestorQuerySelector('tr');
row.parentNode.removeChild(row);
}
updateInvoice();
}
的JavaScript,這是我的外接排功能
function generateTableRow() {
var emptyColumn = document.createElement('tr');
emptyColumn.innerHTML = '<td><a class="cut">-</a><span id="slnocell[]" contenteditable></span></td>' +
'<td><span id="desccell[]" contenteditable></span></td>' +
'<td><span data-prefix>Dhs </span><span id="amtcell[]" contenteditable>0.00</span></td>';
return emptyColumn;
}
這是我的PHP
<?php
require('application_top.php');
GLOBAL $mysql_db;
$mysql_db = new Database();
$mysql_db->mysqldb_connect(DBHOST,DBPORT,DBNAME,DBUSER,DBPASS);
if(isset($_POST['submit']))
{
foreach ($_POST['slnocell'] as $key => $value)
{
$item = $_POST["slnocell"][$key];
$desc = $_POST["desccell"][$key];
$amt = $_POST["amtcell"][$key];
$mysql_db->mysqldb_query("INSERT INTO testtbl VALUES ('','$item', '$desc', '$amt')");
$mysql_db->mysqldb_execute();
}
}
?>
當我點擊形式提交,我得到兩個錯誤
「undefined index slnocell
」
「invalid argument supplied foreach()
」
請幫幫忙,如何將數據保存到mysql.The SQL連接是好的,因爲它返回的「連接」的字符串,我用它來檢查連接。
我的SQL結構如下
CREATE TABLE `testbbl` (
`id` int(11) NOT NULL auto_increment,
`item` varchar(200) NOT NULL,
`desc` varchar(200) NOT NULL,
`amt` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf-8 AUTO_INCREMENT=1 ;
我確實創建了數據庫表,並且還有相應的字段。請參閱mysql插入腳本。它與正常動態表一起使用單元名稱和數組方法。 – 2014-08-27 10:08:23
請把你的表格結構放在問題中。 – 2014-08-27 14:10:42
我已經在問題中添加了sql結構 – 2014-08-27 16:46:47