我使用谷歌电子表格作为记录时间戳的方法。即时通讯使用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函数