更新Web中的数据并将其保存为CSV文件

时间:2014-03-07 02:18:17

标签: php codeigniter csv

我制作了一个包含编辑和删除enter image description here

的表格

表中的数据来自CVF文件我这里没有使用数据库。

我需要做的是当我单击编辑它将允许我编辑单击编辑位置的行时,当我保存它时,它将更新表格以及CSV文件中的数据。

我该怎么做?我在这里使用codeigniter

我尝试了这段代码,但它没有用。

function Edit()
        {
            var par = $(this).parent().parent(); //tr
            var f1 = par.children("td:nth-child(1)");
            var f2 = par.children("td:nth-child(2)");
            var f3 = par.children("td:nth-child(3)");
            var f4 = par.children("td:nth-child(4)");
            var f5 = par.children("td:nth-child(5)");
            var f6 = par.children("td:nth-child(6)");
            var f7 = par.children("td:nth-child(7)");
            var f8 = par.children("td:nth-child(8)");
            var f9 = par.children("td:nth-child(9)");
            var f10 = par.children("td:nth-child(10)");
            var f11 = par.children("td:nth-child(11)");
            var f12 = par.children("td:nth-child(12)");
            var f13 = par.children("td:nth-child(13)");
            var f14 = par.children("td:nth-child(14)");
            var f15 = par.children("td:nth-child(15)");
            var f16 = par.children("td:nth-child(16)");

            var fbtn = par.children("td:nth-child(17)");

            f1.html("<input type='text' id='txtf1' value='"+f1.html()+"'/>");
            f2.html("<input type='text' id='txtf2' value='"+f2.html()+"'/>");
            f3.html("<input type='text' id='txtf3' value='"+f3.html()+"'/>");
            f4.html("<input type='text' id='txtf4' value='"+f4.html()+"'/>");
            f5.html("<input type='text' id='txtf5' value='"+f5.html()+"'/>");
            f6.html("<input type='text' id='txtf6' value='"+f6.html()+"'/>");
            f7.html("<input type='text' id='txtf7' value='"+f7.html()+"'/>");
            f8.html("<input type='text' id='txtf8' value='"+f8.html()+"'/>");
            f9.html("<input type='text' id='txtf9' value='"+f9.html()+"'/>");
            f10.html("<input type='text' id='txtf10' value='"+f10.html()+"'/>");
            f11.html("<input type='text' id='txtf11' value='"+f11.html()+"'/>");
            f12.html("<input type='text' id='txtf12' value='"+f12.html()+"'/>");
            f13.html("<input type='text' id='txtf13' value='"+f13.html()+"'/>");
            f14.html("<input type='text' id='txtf14' value='"+f14.html()+"'/>");
            f15.html("<input type='text' id='txtf15' value='"+f15.html()+"'/>");
            f16.html("<input type='text' id='txtf16' value='"+f16.html()+"'/>");
            fbtn.html("<a class='btnSave'>Save</a>");

            $(".btnSave").bind("click", Save);
            $(".btnEdit").bind("click", Edit);
            $(".btnDelete").bind("click", Delete);
        };

1 个答案:

答案 0 :(得分:1)

有多种方法可以做到这一点:

<强> 1。编辑 - &gt;行编辑公式 - &gt; POST

  • 添加行ID以编辑链接,以便点击编辑链接打开编辑行表单
  • 编辑行表单由函数编辑($ id)通过codeigniter提供
    • 为所有列准备输入字段
    • 添加提交按钮
    • 编辑表单的表单目标是update()函数
  • update()函数接受POST值并包含更新csv文件的逻辑

<强> 2。编辑就地 - &gt; Ajax POST

  • 你需要完成“编辑行”的事情。 你可能会使用其中一个“jquery edit-in-place”javascripts
  • 当你能够实时编辑表格时,下一步就是让“编辑就地”Ajax正常工作。您可能希望将输入的行值的ajax帖子用于更新操作URL
  • 更新操作URL =您需要在codeigniter端使用updateCSV()函数 此函数接受值并包含CSV写入逻辑(或使用帮助程序)。

对于“Table-Column-Edit”,我建议使用jQuery插件“x-editable”。这很容易设置。