2010-08-11 24 views
2

我正在使用this作爲用於爲我的用戶創建動態發票的模板的jQuery可編輯發票的絕佳示例。使用PHP將「jQuery可編輯發票」的值提交到MySQL數據庫中

它工作得很好,我成功地生成了這些項目,但我現在需要將輸入的值保存到各個文本字段中並將它們輸入到MySQL數據庫中。

我有信心在MySQL中輸入PHP,但是更棘手的是'發票項目'的數量是完全動態的,我不確定如何讓PHP'通過頁面文本字段'檢查'和找到新的,分組,然後將它們添加到我的數據庫。

這裏是我使用生成的項目我的代碼示例:

<?php if($invoice_items->result_array()) { ?> 
<?php foreach($invoice_items->result_array() as $invoice_Row): ?> 
    <tr class="item-row"> 
      <td class="item-name"> 
      <div class="delete-wpr"> 
       <textarea><?php echo $invoice_Row['item_name']; ?> Facility Booking</textarea> 
       <a class="delete" href="javascript:;" title="Remove row">X</a> 
      </div> 
     </td> 
      <td class="description"> 
       <textarea><?php echo $invoice_Row['description']; ?></textarea> 
      </td> 
      <td><textarea class="cost">$<?php echo $invoice_Row['hourly_cost']; ?>.00</textarea></td> 
      <td><textarea class="qty"><?php echo $total_time_hours; ?></textarea></td> 
      <td><span class="price">$<?php $unit_total = $invoice_Row['hourly_cost']* $total_time_hours; echo $unit_total;?>.00</span></td> 
    </tr> 
<?php endforeach; ?> 
<?php } ?> 

我在想,我需要也許生成唯一的ID對每個發票項目文本字段,即item-1-descitem-1-cost等,但涉及編寫我幾乎不知道的JavaScript。此外,我仍然必須讓PHP通過ID以某種方式循環,直到它到達結尾...

如果有人曾嘗試過類似的事情,或者您可以看到我的問題的解決方案,我將不勝感激您的幫助。

感謝,

回答

1

使用PHP的形式數組語法name="item-desc[<?php echo $id?>]"

然後可以遍歷他們在後臺與foreach來存儲數據。你有ID作爲數組的鍵,所以更新數據庫應該是相當簡單的。

+0

嘿拜倫,感謝發佈。如果我錯了,請糾正我,但當用戶通過jquery界面自行添加行時會發生什麼。這個新數據不會源自PHP foreach循環,因此我不能將數據插入到數據庫中,因爲PHP不知道它存在。有沒有解決的辦法? – Tim 2010-08-13 02:23:35

+0

你應該爲已經存在的行設置一個'item-id [] = $ id',然後使用'item-desc []'然後迭代'item-desc',檢查'item-id'中的id。如果它不在項目ID中,那麼它是一個新行。或者你可以添加一個ajax回調來更新後端,並從結果中設置id。 – 2010-08-13 04:38:36

相關問題