Question

I want to search two fields namely,name and tags using cJuiautocomplete, how to perform this task ??

My CJuiAutoComplete code:

<?php   $this->widget('zii.widgets.jui.CJuiAutoComplete', array(
    'name'=>'test1',
    'model'=>$model,
    'attribute'=>'name',
    //'attribute'=>'tags',
    'value'=>'',
    'source'=>$this->createUrl('campaign/autocompleteTest'),
    'options'=>array(
            'showAnim'=>'fold',
            'select'=>' function(event,ui) { this.value=ui.item.value; ',
    ),
    'htmlOptions'=>array( 'class' => 'input-xx search-query'),
   ));?>

My Controller code:

public function actionAutocompleteTest() {
    $res =array();
    $res2 =array();
    if (isset($_GET['term'])) {

        $qtxt ="SELECT name FROM crm_campaign WHERE name LIKE :name";
        $command =Yii::app()->db->createCommand($qtxt);
        $command->bindValue(":name", '%'.$_GET['term'].'%', PDO::PARAM_STR);
        $res =$command->queryColumn();
        $tagsql ="SELECT tags FROM crm_campaign WHERE tags LIKE :name";
        $tagcommand =Yii::app()->db->createCommand($tagsql);
        $tagcommand->bindValue(":name", '%'.$_GET['term'].'%', PDO::PARAM_STR);
        $tag =$tagcommand->queryColumn();
        foreach ($tag as $t)
        {
            $res2 = explode(',',$t);
        }

    }

    echo CJSON::encode(array_merge($res,$res2));
    Yii::app()->end();
}

can anyone put me in the right path??

No correct solution

OTHER TIPS

You can do with js option:

'source'=>'js: function(request, response) {
    $.ajax({
        url: "'.$this->createUrl('campaign/autocompleteTest').'",
        dataType: "json",
        data: {
            term: request.term,
            tag: $("#tag_id").val()
        },
        success: function (data) {
                response(data);
        }
    })
 }',

Edit:

foreach ($tag as $t)
        {
            $res2 = explode(',',$t);
            $res = array_merge($res,$res2);
        }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top