2010-07-01 98 views
2

我在CMS系統的範圍內工作,該系統定義了可用於在PHP中的應用程序中使用的某些字段。從一個字段中設置數據庫中的多個字段

我正在使用inputSmartSearch字段,它基本類似於Google的建議。

它允許我定義一個SQL查詢,然後顯示與我在我的搜索中輸入相匹配的記錄。

對於我的智能搜索,我選擇了它來搜索不同表中的三個字段,並將這些字段連接在一起顯示。

我用我的定義場像這樣:

$theinput = new inputSmartSearch($db, "chooseguests", "Choose Guests"); 

最後一個參數是SQL查詢來執行的名稱。

這工作正常,可以通過搜索他的姓氏或名字找到客人。

但是,我已經實現了這個智能搜索什麼是要添加銷售訂單的頁面。

在銷售表中存儲的每個銷售訂單中,與來賓表不同,我還想要訂購客人的名字和姓氏。

銷售訂單表的設計有兩個單獨的字段名和姓。

使用smartsearch,我找不到任何方式來標記所選輸入並將其插回到字段中。

如果我有一個智能搜索,可以通過名字或姓氏進行搜索,它只顯示一個字段的結果,並且我希望它將名字保存到名字字段並將姓氏保存到姓氏字段。

定義每種形式都有一個包含文件中定義爲插入一條記錄和這樣的,像這樣的功能:

function prepareVariables($variables){ 
    // if ($variables["webaddress"]=="http://") 
     // $variables["webaddress"] = NULL; 
     return $variables; 
    } 

    function updateRecord($variables, $modifiedby = NULL, $useUuid = false){ 
     $variables = $this->prepareVariables($variables); 
     return parent::updateRecord($variables, $modifiedby, $useUuid); 
    } 

    function insertRecord($variables, $createdby = NULL, $overrideID = false, $replace = false, $useUuid = false){ 
     $variables = $this->prepareVariables($variables); 
     return parent::insertRecord($variables, $createdby, $overrideID, $replace, $useUuid); 
    } 

不過,我不確定我怎麼可能修改,插入或更新功能做什麼我需要他們去做,或者如果那是正確的方法。

我應該在尋找一個複雜的sql查詢嗎?隱藏字段的內容自動從我的inputSmartSearch的結果?還有別的嗎?

回答

0

不知道你所做的設置有什麼可能,但是......我的第一反應是從數據庫返回與令牌結合的名稱 - 比如 - ','So Smith,John。然後,在準備好發回時,將其拆分(基於已知的令牌)。現在,那裏有你在那裏,我不知道。

+0

我可以返回metafield的內容,這是沒有問題的。我需要知道如何在PHP中標記該字段並將其插入到單獨的字段中。 – Jacob 2010-07-01 18:48:41

0

您只需使用數據庫中的值手動設置智能搜索的起始值即可。然後,當數據發佈到服務器時,您可以解析並追加到用於將數據存儲在數據庫中的數組。至少這似乎應該起作用。

相關問題