2014-08-27 69 views
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 ; 

回答

1

你裏面插入數據之前創建數據庫表第一一次。

+0

我確實創建了數據庫表,並且還有相應的字段。請參閱mysql插入腳本。它與正常動態表一起使用單元名稱和數組方法。 – 2014-08-27 10:08:23

+2

請把你的表格結構放在問題中。 – 2014-08-27 14:10:42

+1

我已經在問題中添加了sql結構 – 2014-08-27 16:46:47

相關問題