如何在PHP中将已编辑的表数据保存在CSV文件中

时间:2013-11-21 06:49:33

标签: javascript php html html-table export-to-csv

我目前在data.csv文件中保存表数据时遇到问题。使用这个javascript我从表中获取值并在警告框中显示它,但我想将此变量数据存储在adata.csv文件中。我已将隐藏字段值传递到此页面。请编辑我的代码,因为这是我的第一个PHP代码。

这是我的代码:

<html>
    <head>
    <script>
        function GetCellValues()
        {
            var str = '';
            var rows = document.getElementsByTagName('tr');
            var table=document.getElementById("project");
            for (var i=0;i<table.rows[0].cells.length;i++)
            {
                if (i > 2 )
                {
                    str = str + table.rows[0].cells[3].innerHTML.replace(", ");
                }
                else
                {
                    str = str + (table.rows[0].cells[i].innerHTML) + ', ' ;
                }
            }
        for (var c = 1 ; c < rows.length ; c++)
        {
            str += '\n' + "0" + c + ', ';
            var row = rows[c];
            var inputs = row.getElementsByTagName('input');                
            for (var k = 0 ; k < inputs.length ; k++)
            if (k > 1)
            {
                str += inputs[k].value.replace(", ");
            }
            else 
            {
                str += inputs[k].value + ', ';
            }
        }   
        document.getElementById('hiden').value = str;
        alert(document.getElementById('hiden').value);
    }

我遇到问题,我无法将表数据保存到文件中。

    <?php
        function saved()
        {
            $handle = fopen("data.csv", "w");
            $hiden = $_REQUEST["hiden"];
            fwrite($handle,$hiden);
        }
    ?>
    </script>       
    </head>

我按以下方式制作了按钮:

    <body>
    <form>
        <br>
        <h1 style="text-align: center">* * * PROJECTS * * *</h1>
        <br>
            <input type = "hidden" id = "hiden" name = "hiden" value = "">
            <input type = "button" name = "submit" onclick = "GetCellValues()" Value = "SAVE">
            <input type = "button" name = "submit" onclick = "document.write('<?php echo saved() ?>');"  Value = "submit"> 

        <br>
    </form>

这里我存储了.csv文件中的数据并将其显示在表格中:

    <?php
        $handle = fopen("data.csv", "w");
        $hide = $_REQUEST['hide'];
        fwrite($handle,$hide);

        $file = file('data.csv');
        $lines = count($file);

        echo'<table id = "project" border = "1" cellpadding="2" cellspacing="0"
        style = "width: 60%; margin-left: auto; margin-right: auto; border-color: brown; background-color:gray;">';
        echo'<tr cellpadding="100">
            <th width="15%">Sl.No.</th>
            <th width="15%">Project Name</th>
            <th width="15%">ChangeDate</th>
            <th width="15%">Changed By</th>
        </tr>';
        for ($i=1; $i<$lines; $i++) 
        {
            $part = explode(',', $file[$i]);
            echo'<tr>
                <td align= "center" width="5%">'.$part[0].'</td>
                <td align= "center" width="25%"><input type="text" value='.$part[1].'></td>
                <td align= "center" width="25%"><input type="text" value='.$part[2].'></td>
                <td align= "center" width="25%"><input type="text" value='.$part[3].'></td> 
            </tr>';
        }
        echo'</table>'; 
    ?>
    </body>
</html>

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

使用Ajax将生成的字符串发送到您的php文件,然后从那里写入csv文件。 要编写简单的javascript,请使用jquery

您可以做的其他事情是,一旦隐藏变量中的数据“提交”表单。 document.forms['user'].submit();