我正在使用 p4a 应用程序框架,我已经构建了几个数据库,其中一个需要收集预订日期,我知道没有办法通过 MySQL 来做到这一点,但我没有找到任何有用的东西在 p4a 论坛上,所以任何使用 p4a 框架的人都可以提供帮助,我将不胜感激,
我将本地设置为 en_GB
,它将 p4a 字段中的日期设置为 dd-mm-yyyy
但我需要将其设置为 yyyy-mm -dd
将数据实际写入数据库,
此操作的当前代码是:
$this->build("p4a_field","date")
->setlabel("Date")
->setType('date')
$location = $this->AreaName->getNewValue();
$date = $this->date->getNewValue();
$merono = $this->merono->getNewValue();
$p4a = p4a::singleton();
$p4a->i18n->autoUnformat($date, "shortdate");
p4a_db::singleton()->query("INSERT INTO meetingrooms(location, date, merono)
VALUES
('$location', '$date', '$merono')");
任何帮助将不胜感激,我计划使用 afterClick
拦截该函数,但我需要首先知道所需的语法。
谢谢
史蒂夫
最佳答案
如果我理解正确的话,您有一些不适合 MySQL 的格式的日期,但您想将它们用于 INSERT
,对吗?
让 MySQL convert them for you 怎么样? ?
SELECT STR_TO_DATE('31-12-2012','%d-%m-%Y');
-> '2012-12-31'
编辑:
您似乎已确定日期:
$date = $this->date->getNewValue();
因此您需要在 SQL 中使用公式:
p4a_db::singleton()->query("INSERT INTO meetingrooms(location, date, merono)
VALUES
('$location', STR_TO_DATE('$date','%d-%m-%Y'), '$merono')");
我不是 p4a 人,所以希望这会起作用。
请注意,在大多数语言中,您都会遇到使用此类代码的 SQL 注入(inject)。 p4a 是否为您涵盖了这一点,或者提供了位置参数?
祝你好运。
关于php - 更改 p4a 字段中 MySQL 的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13359411/