我想对所有ss_score_talent
和ss_score_star
进行汇总并显示在表中,这些值等于ss_contestant_name
的值。
型号:
function get_average_score()
{
$this->db->select("event_contestant.cnt_id,event_contestant.cnt_fullname,event_score_sheet.ss_contestant_name,event_score_sheet.ss_date,event_score_sheet.ss_score_talent,event_score_sheet.ss_score_star,event_score_sheet_sc.sc_score_sc,event_score_sheet_pv.pv_score_pv");
$this->db->from('event_contestant');
$this->db->join('event_score_sheet','event_score_sheet.ss_contestant_name = event_contestant.cnt_fullname');
$this->db->join('event_score_sheet_sc','event_score_sheet_sc.sc_contestant_name = event_contestant.cnt_fullname');
$this->db->join('event_score_sheet_pv','event_score_sheet_pv.pv_contestant_name = event_contestant.cnt_fullname');
$query = $this->db->get();
return $query->result();
}
控制器:
function read_averagescore()
{
$data = $this->Scoresheet_Model->get_average_score();
echo json_encode($data);
}
查看:JS
function show_score_average()
{
$.ajax({
type : "GET",url : "<?php echo base_url('scoresheet/read_averagescore');?>",async : false,dataType : "JSON",success : function(data)
{
var html = '';
var i;
for(i=0; i<data.length; i++)
{
if (data[i].cnt_fullname == data[i].ss_contestant_name)
{
total_sc = math.sum(data[i].ss_score_talent,data[i].ss_score_talent,data[i].ss_score_talent);
}
var total_average = math.sum(data[i].ss_score_talent,data[i].ss_score_star,data[i].sc_score_sc,data[i].pv_score_pv);
html +=
'<tr>' +
'<td>' + data[i].ss_date + '</td>' +
'<td>' + data[i].cnt_fullname + '</td>' +
'<td>' + math.sum(data[i].ss_score_talent,data[i].ss_score_talent) + '</td>' +
'<td>' + data[i].ss_score_star + '</td>' +
'<td>' + data[i].sc_score_sc + '</td>' +
'<td>' + data[i].pv_score_pv + '</td>' +
'<td>' + total_average + '</td>' +
'</tr>';
}
$('#show_all_score_ca').html(html);
}
});
}
更新:我的一个朋友帮助我解决了这个问题。这是SQL查询。
"SELECT `ss_contestant_name`,SUM(`ss_score_talent`) / COUNT(`ss_contestant_name`) AS totalTalent,SUM(`ss_score_star`) / COUNT(`ss_contestant_name`) AS totalStar,(SELECT `sc_score_sc` FROM `event_score_sheet_sc` WHERE `sc_contestant_name` = `ss_contestant_name`) AS totalSC,(SELECT `pv_score_pv` FROM `event_score_sheet_pv` WHERE `pv_contestant_name` = `ss_contestant_name`) AS totalPV FROM `event_score_sheet` GROUP BY `ss_contestant_name`"