Как сохранить отредактированные данные таблицы в файле CSV в PHP

В настоящее время у меня возникают проблемы с сохранением данных таблицы в файле 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>

person user2995144    schedule 21.11.2013    source источник


Ответы (2)


Используйте функцию PHP fputcsv()

Проверьте:
http://www.w3schools.com/php/func_filesystem_fputcsv.asp
http://php.net/manual/en/function.fputcsv.php

person Adi    schedule 21.11.2013
comment
Да, вы пишете, но здесь это динамическая таблица, и я хочу сохранить данные в файле csv... Я уже получаю данные и сохраняю их в скрытом поле, но я хочу знать только то, как хранить данные скрытого поля в файле... @user1972507 - person user2995144; 21.11.2013

Используйте Ajax, чтобы отправить сгенерированную строку в ваш php-файл, и оттуда вы можете записать в файл csv. Для написания простого javascript используйте jquery.

Другая вещь, которую вы можете сделать, это, когда у вас есть данные в скрытой переменной, «отправить» форму. document.forms['user'].submit();

person goutham2027    schedule 21.11.2013
comment
Я не могу отправить форму, потому что это php-страница. Я не знаю, как передать значение скрытого поля. @goutham2027 - person user2995144; 21.11.2013