我正在使用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
拦截函数,但我需要先了解所需的语法。
谢谢,
史蒂夫
答案 0 :(得分:2)
如果我理解正确,你有一些非MySQL友好格式的日期,但你想将它们用于INSERTs
,对吗?
如何让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注入公开。 p4a是否适合您,或提供位置参数?
祝你好运。