联系官方销售客服

1835022288

028-61286886

求助 版主:官方研发技术组
在页面中获取input框的值进行数据库查询
类型:迅睿CMS 更新时间:2021-09-22 16:55:26

我想在页面中获取input框的值进行数据库查询,我在custom.php中写了查询方法,需要传参,但是不知道怎么将input框中的传入查询方法。

custom.php中的自定义函数:

function my_recoWord($theme,$level) {
    $sql = "select * from dr_app_mydata_2 where ".$theme1." LIKE CONCAT('%',theme,'%') and level =".$level1;
    echo $sql;
    $rt = \Phpcmf\Service::M()->db->query($sql);
    if ($rt) {
        $rows = $rt->getResultArray();
        if(!$rows){
            echo '暂无推荐';
        }
        foreach ($rows as $t) {
            echo $t['name'] ;
            echo ' ';
        }
    }
}

模板中:

            <label>{function name=my_recoWord param1=input框参数1 param2=input框参数2 cache=300}{$t}{/function}</label>


回帖
  • 541473228
    #1楼    541473228
    2021-09-21 02:38:14
    Chrome 0
    增加悬赏(设置悬赏)金:5元,希望大家给予帮助!
  • 迅睿框架联合创始人
    #2楼    迅睿框架联合创始人
    2021-09-21 10:28:27
    诺基亚手机 0
    这种思路的话实现不了这种功能。我的建议思路是,需要新建控制器,提交的动作的要通过ajax或者是纯url传递到控制器中,然后在控制器器里面进行数据业务逻辑处理,然后再返回到模板里面。
  • 琉惗
    #3楼    琉惗
    2021-09-21 23:25:27
    Chrome 0
    function postShow(){
            console.log($('#dr_level').val());
            console.log($('#dr_theme').val());
            $.ajax({
            url: "{dr_url('Xiezuowenzhang/html/getData')}",
            type: "GET",
            dataType: "json",
            data: {
                dr_level:$('#dr_level').val(),
                dr_theme:$('#dr_theme').val()
            },
            success: function(index){
                console.log(index);
                if (index.code == 1){
                    $('#postShow1').remove();
                
                    $('#recoword').append('<div id="postShow1">'+index.data+'</div>');
                
                }
                
            },
            error: function(index){
                if (index.code == 0){
                    alert(index.msg);
                    setTimeout(function(){
                        location.reload();
                    },1000);
                }
              
            }
    
        });
    
        return false;
        }
    <div class="form-group" id="recoword">
                            <button onclick="postShow()">查看推荐词汇</button>
                            <div id="postShow1"></div>
                            <!-- <label>{function name=my_recoWord param1=input框参数1 param2=input框参数2 cache=300}{$t}{/function}</label> -->
                        </div>
    public function getData(){
    		
    		$result = \Phpcmf\Service::M()->db->table('app_mydata_2')->select('name')->where('level',$_GET['dr_level'])->where("'".$_GET['dr_theme']."' LIKE CONCAT('%',theme,'%')")->get()->getResultArray();
    
    		for ($i=0; $i < count($result); $i++) { 
    			$data[$i] = $result[$i]['name'];
    		}
    
    		if ($result) {
    			return json_encode([
    				'code' => 1,
    				'msg' => '内容获取成功',
    				'data' => $data
    			]);
    		}else{
    			return json_encode([
    				'code' => 0,
    				'msg' => '内容获取失败',
    				'data' => ''
    			]);
    		}
    	}
    满意答案
  • SDK
    #4楼    SDK
    2021-09-22 08:48:18
    Chrome 0
    按照插件开发的逻辑走
  • 541473228
    #5楼    541473228
    2021-09-22 16:55:26
    Chrome 0
    @琉惗:谢谢,已经解决问题