php - 代码点火器 : How to insert last uri segment into database using ajax

标签 php jquery mysql ajax codeigniter

我正在创建一个评级系统,在该系统中,当用户对任何公司进行评级时,评级会与 v_id 表一起存储到 rate 中。 (v_id为公司id),

这是我要评价的网址...

  • www.ABC.com/controller/function/company_id

这里的 company_id 是从数据库中获取的。我想将公司评级存储到费率表中。当用户点击星号时。

Controller

function visa_company_profile($v_id) {

        $data['total_ratings'] = $this->Visa_mdl->total_ratings($v_id); 
        $data['total_average'] = $this->Visa_mdl->total_average($v_id); 

        $result = $this->Visa_mdl->get_company_profile($v_id);
        $data['items_company_profile'] = $result;

        $this->load->view('include/header');
        $this->load->view('hotels/company_profile',$data);
        $this->load->view('include/footer');

    }

观看次数 这是 ajax 部分,我将星值发送到 Controller

$(document).ready(function(){


var click_val = 0;

$("#1_star").hover(function(){

    $("#1_star").attr("src","<?php echo base_url('assets/rating/star.png'); ?>");
    $("#2_star").attr("src","<?php echo base_url('assets/rating/blank_star.png'); ?>");
    $('#3_star').attr('src',"<?php echo base_url('assets/rating/blank_star.png'); ?>");
    $('#4_star').attr('src',"<?php echo base_url('assets/rating/blank_star.png'); ?>");
    $('#5_star').attr('src',"<?php echo base_url('assets/rating/blank_star.png'); ?>");
});

$("#1_star").click(function(){
    click_val = 1;

    $.ajax({
        url: '<?php echo base_url('Account/loggedin');?>',
        success: function(logged_in) {
            if (logged_in === "1") {
                ajaxCall();

            }else {
                $("#l_modal").modal('show');
            }
        }
    });

});
function ajaxCall() {
    $.ajax({
        method : 'POST',
        data: {'click_val':click_val},
        url: '<?php echo base_url('Hotels/ratings/');?>',
        success: function() {
            location.reload();
        }
    });

}

Star Controller 将速率存储到数据中 在这里,我试图从 url 中获取公司 ID 并将其存储到 column(v_id) 费率表中。

function ratings() {
            date_default_timezone_set('Asia/Kolkata');
            $last = $this->uri->total_segments();
            $record_num = $this->uri->segment($last);
            $value = array (
                'rate' => $this->input->post('click_val'),
                'date' => date('Y-m-d H:i:s'),
                'v_id' => $record_num
                );
            $this->Visa_mdl->ratings($value);
        }

型号

function ratings($value) {

            $this->db->insert('user_ratings',$value);
        }

最佳答案

你可以简单地修改你的ajax函数输入值

function ajaxCall() {
    $.ajax({
        method : 'POST',
        data: {'click_val':click_val,'company_id':<?php echo $this->uri->segment(3)},
        url: '<?php echo base_url('Hotels/ratings/');?>',
        success: function() {
            location.reload();
        }
    });
}

同样,您可以在 Controller 功能酒店/评级中获取公司 ID。

关于php - 代码点火器 : How to insert last uri segment into database using ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43321783/

相关文章:

php - 从 RedBean 3.5 升级到 RedBean 4 的过程

php - 使 php 响应在页面刷新时保持可见

javascript - HTML5多图选择限制及编辑

javascript - jQuery if 和 $(this) 混淆

javascript - 从wysihtml5编辑器获取当前选定的文本

mysql - 为什么这个 MySQL 查询挂起?

php - 如果给定时间等于或高于当前时间,则尝试更改表格的颜色

php - 在 Silex 中使用 Symfony Form 2.3

mysql - 查询具有特定值的最新记录的计数

php - 使用 PHP 更新多行