使用PHP更新Google电子表格中的行数

时间:2015-04-27 16:01:22

标签: php mysql spreadsheet

我使用谷歌电子表格作为记录时间戳的方法。即时通讯使用farinspace googlespreadsheet php和zendgdata。我可以毫无问题地添加新行,但我发现自己遇到了问题......

如果我想要updateRow会发生什么,列名称等于今天,,,换句话说,我想今天更新时间戳,星期一,,,当我这样做时,所有行的值都是星期一Day列获取时间戳...

我只需要在一行上做,并跟踪我是哪一行所以我可以在下一天连续更新...我希望所有这些都有意义...如果它没有请让我知道所以我可以更好地解释我的自我。

include_once("Google_Spreadsheet.php");
$u = "dude@gmail.com";
$p = "dudepass";
$ss = new Google_Spreadsheet($u,$p);
$ss->useSpreadsheet($id_employee);
$id = date('l'); //this gives me todays day name
$row = array
    (
         "In" => date("H:i")
    ); // using this in column In, i will post date


   if ($ss->updateRow($row,"day=".$id))
    {
        echo "Updated";
    }else{
        echo "Some Error";
    }

以上是farinspace表格上面链接的基本功能,updateRow循环遍历所有具有“星期一”名称和所有行的时间戳的行。我需要知道如何防止这种情况...例如,今天是星期一只更新行星期一的“在”和“出”列中,并非所有行都有星期一在其中

    function updateRow($row,$search)
{
    if ($this->client instanceof Zend_Gdata_Spreadsheets AND $search)
    {
        $feed = $this->findRows($search);

        if ($feed->entries)
        {
            foreach($feed->entries as $entry) 
            {
                if ($entry instanceof Zend_Gdata_Spreadsheets_ListEntry)
                {
                    $update_row = array();

                    $customRow = $entry->getCustom();
                    foreach ($customRow as $customCol) 
                    {
                        $update_row[$customCol->getColumnName()] = $customCol->getText();
                    }

                    // overwrite with new values
                    foreach ($row as $k => $v) 
                    {
                        $update_row[$this->cleanKey($k)] = $v;
                    }

                    // update row data, then save
                    $entry = $this->client->updateRow($entry,$update_row);
                    if ( ! ($entry instanceof Zend_Gdata_Spreadsheets_ListEntry)) return FALSE;
                }
            }

            return TRUE;
        }
    }

这是updateRow函数

0 个答案:

没有答案