按名字或姓氏搜索

时间:2014-08-14 06:30:01

标签: php civicrm

我有两个名字和姓氏的文本框。管理员可以通过相应文本框中的名字或姓氏来搜索记录。我发一个api调用发送名字或姓氏来获取记录。

我想要的只是提供一个文本框。在这里,admin可以键入名字或姓氏或全名。我该如何理清这些名字并拨打api电话。 如果用户只输入了第一个名字,那么我只在api通话中发送第一个名字。如果他提供了两个名字,我会发送两个名字。我首先检查他输入了哪个文本框,因此我进行了api调用

$params = array( 
    'return' => array(
        'first_name',
        'display_name',
        'image_URL',
        'last_name',
        'phone',
        'email'
    ),
    'version' => 3,
    'sequential' => 1,
    'limit' => 25,
    'first_name' = "Shrinidhi",
    'last_name' = "Kulkarni"
);

$contact = civicrm_api('Contact', 'get', $params); 

3 个答案:

答案 0 :(得分:1)

试试这个:

$sql = "SELECT 'first_name','display_name','image_URL','last_name','phone','email' from Contact where 'shrinidhi' in (first_name,last_name)";
CRM_Core_DAO::executeQuery($sql);

供进一步参考: http://www.vedaconsulting.co.uk/civicrm/civicrm-executing-custom-sql/

答案 1 :(得分:1)

你应该使用像这样的查询:

SELECT CONCAT(firstname, lastname) AS fullname FROM tablename WHERE fullname LIKE '%input%';

所以你可以找到带有一个输入字段的firstname和lastname。

享受您的代码!

答案 2 :(得分:0)

您可以检查输入值中的whitesapce,并使用空格的位置提取名字和姓氏。如果输入值中没有空格,则应仅使用名字调用API。