【问题标题】:PHP - MySQL: Synchronize two calendarsPHP - MySQL:同步两个日历
【发布时间】:2014-08-01 22:25:55
【问题描述】:

我正在使用用于日历预订和预订的插件。我可以创建更多日历,但我无法在一个日历中设置不同的服务、价格和付款方式。

我需要为同一个活动提供两种不同的服务,因此我应该创建两个日历,但在这种情况下,日历之间的预订天数没有同步:我只需要一个日历。

所以我的意图是通过 PHP 和 MySQL 同步这两个日历。该插件在日历数据库中为日期创建一个名为“days”的特定表,如下所示:

 | Calendar Id | Day                     | Month    | Year |
 |          01 |  01 monday available    |       01 | 2014 |
 |          01 |  02 tuesday available   |       01 | 2014 |
 |          01 |  03 wednesday booked    |       01 | 2014 |
 |          02 |  01 monday in pending   |       01 | 2014 |
 |          02 |  02 tuesday booked      |       01 | 2014 |
 |          02 |  03 wednesday available |       01 | 2014 |

如何同步日历 id 01 和日历 id 02 的数据(日、月、年)?

我发现了这个: How can i synchronize two database tables with PHP?

但我需要同步数据(记录)而不是表或数据库。

我希望我的问题是克莱尔,对不起我的英语并提前感谢!

【问题讨论】:

  • 您应该解释使用“同步”的意思。你想插入和/或更新一些行吗?你想实现的逻辑是什么?照原样,这是无法回答的。
  • 是的,对不起,我的意思是,如果客户在两个日历之一中预订一天,则两个日历都会自动更新为预订的那一天。显然,按照最后一次(最近的预订)的顺序更新(和重写数据)非常重要。

标签: php mysql


【解决方案1】:

如果可用,您应该创建一个新列来存储。 |日历 ID |天 |月 |年份 | 可用

然后,您可以使用触发器:

    CREATE TRIGGER synchronize_update BEFORE UPDATE ON table
    FOR EACH ROW BEGIN
    UPDATE table SET Available = NEW.Available WHERE calendar_id <> NEW.calendar_id AND Day = New.Day And Month = NEW.Month  AND Year = NEW.Year;
    END;

【讨论】:

  • 它不起作用(也许我错了)。我可以使用 DUPLICATE ON 吗?事实上,我需要复制两个不同行的数据。
猜你喜欢
  • 2018-03-16
  • 2012-05-18
  • 1970-01-01
  • 1970-01-01
  • 2017-10-12
  • 2022-06-23
  • 2013-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多