2012-11-13 49 views
2

我正在使用p4a应用程序框架,并且我已经构建了几个数据库,其中一个需要收集预订日期,我知道没有办法做到这一点通过MySQL,但我还没有发现任何有用的p4a论坛上,所以任何人使用p4a框架,可以帮助,我将不胜感激,在p4a字段中更改MySQL的日期格式

我有我的本地设置为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的功能,但我需要知道首先需要的语法。

感谢,

史蒂夫

回答

2

如果我理解正确的话,你必须在非MySQL的友好格式的一些日期,但你想用它们来INSERTs,对不对?

如何让MySQL convert them for you

SELECT STR_TO_DATE('31-12-2012','%d-%m-%Y'); 
    -> '2012-12-31' 

EDITS:

它看起来就像你有日期:

$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是否会为您提供,或提供位置参数?

祝你好运。

+0

我不确定我将如何实现这一点到我的文档中,你可以在这方面伸出援手吗? –

+0

编辑,上面... –