0

对于我的 jQuery 日历,我需要编辑这行代码来插入一个新事件。

[
{"id":1, "start": new Date(year, month, day, 12), "end": new Date(year, month, day, 13, 35),"title":"Lunch with Mike"},
{"id":2, "start": new Date(year, month, day, 14), "end": new Date(year, month, day, 14, 45),"title":"Dev Meeting"},
]

如果最后一行不需要“]”,file_put_contents 会做得很好,所以也许有一种方法可以查找“]”并将其替换为:

{"id":3, "start": new Date(year, month, day, 14), "end": new Date(year, month, day, 14, 45),"title":"New Thing"},
    ]

此外,我的预订可以取消,所以我还需要找到一种方法来找到该特定行(按 ID 搜索)并将其删除,直到下一行......但我该如何实现呢?
(当我预订或取消预订项目时,应触发此代码。)

也许,如果这是可能的,这不是正确的方法吗?

如果我在站点的日历部分设置触发器会怎样:在创建日历视图之前,事件文件将填充数据库中的所有信息,保存,然后日历将显示所有事件。

但这对页面来说有多密集?如果数据库中有 1000 个预订,则每次检查日历页面时都必须一遍又一遍地创建 1002 行。这是个好主意吗?

我在这里有什么选择?哪一个是最好/正确的方法?

提前致谢。

4

1 回答 1

2

如果您没有太多数据,请调用 json_decode,添加您的内容,在更改的对象上调用 json_encode 以使其成为字符串并再次将其保存到文件中..

通常:我会将每一行保存为一个 json 字符串,但不会全部保存在一个大对象中。因此,您只需每行有一个 json 对象:

{date: "", [...]}
{date: "", [...]}

您可以在 fopen() 中使用“a”标志或在 file_put_contents() 中使用 FILE_APPEND 时附加一个条目。这是非常快的。要读取数据,遍历每一行并调用 json_decode()。这也更快。

于 2012-10-23T17:10:41.157 回答