我在一个CMS系统的范围内工作,它定义了某些字段,可以用来在PHP应用程序中使用表单。
我使用的是inputSmartSearch字段,它基本上类似于Google suggest。
它允许我定义一个SQL查询,然后在我输入搜索时显示匹配的记录。
对于我的smartsearch,我选择它来搜索不同表中的三个字段,并显示连接在一起的这些字段。
我这样定义我的字段:
$theinput = new inputSmartSearch($db, "chooseguests", "Choose Guests");最后一个参数是要执行的SQL查询的名称。
这很好用,可以通过搜索客人的姓或名来找到他。
但是,我已经实现了这个智能搜索,它应该是用于添加销售订单的页面。
在sales表中存储的每个销售订单中,与guest表不同,我还希望获得发出订单的客户的名字和姓氏。
销售订单表的设计有两个单独的字段,分别表示名字和姓氏。
使用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);
}但是,我不确定如何修改insert或update函数来完成我需要它们做的事情,或者这是否是正确的方法。
我应该寻找一个复杂的sql查询吗?从我的inputSmartSearch结果中自动填充内容的隐藏字段?还有别的吗?
发布于 2010-07-01 22:11:53
我不确定你现在的设置有什么可能,但是...我的第一反应是从数据库中返回带有标记的名称-如',‘So Smith,John。然后,当准备发回时,将它们分开(基于已知的令牌)。现在,我不知道你所拥有的东西去了哪里。
发布于 2010-07-04 15:39:57
您只需使用数据库中的值手动设置智能搜索的起始值。然后,当数据被发送到服务器时,您可以解析并附加到用于在数据库中存储数据的数组。至少这看起来应该是可行的。
https://stackoverflow.com/questions/3156070
复制相似问题