2012-11-13 84 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

編輯,上面... –