0

私の jQuery Calendar では、このコード行を編集して新しいイベントを挿入する必要があります。

[
{"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 文字列として保存しますが、すべてを 1 つの大きなオブジェクトに保存するわけではありません。したがって、単純に 1 行に 1 つの json オブジェクトがあります。

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

fopen() で "a" フラグを使用するか、file_put_contents() で FILE_APPEND を使用しているときに、エントリを追加できます。これは非常に高速です。データを読み取るには、各行を繰り返し、json_decode() を呼び出します。これも高速です。

于 2012-10-23T17:10:41.157 に答える