2010-08-11 68 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

相关问题