php - Codeigniter - 根据年份获取表中列的总和,并应将其显示在输入标签中
问题描述
我有 Codeigniter 项目,我需要根据下拉列表中提到的年份获得预算利润总和。
我已经编写了如下所述的代码。但是,当我选择 2021 选项时,它不起作用。
你能告诉我下面的编码错误吗?
看法
<form>
<div class="box-body">
<div class="col-md-6">
<div class="form-group">
<label for="example">Select Year</label>
<select class="form-control" name="year" id="SelectOption">
<option value="">Select</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
<option value="2021">2021</option>
</select>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="example">Profit</label>
<input type="text" id="profitdiv" name="txtname" class="form-control" readonly>
</div>
</div>
</form>
<script>
document.getElementById('SelectOption').addEventListener('change', function()
{var val = $( "#SelectOption" ).val();
console.log(val)
if(val === '2021') {
$.ajax({
type: "POST",
url : "<?php echo base_url(); ?>Reports/get_profit",
data:{val:val},
success: function(data){
$('#profitdiv').html(data);
}
});
}
}
</script>
控制器
public function get_profit()
{
$this->load->model('Reports_model');
$data=$this->Reports_model->select_profit();
if($data!=='')
{
$this->session->set_flashdata('success', "Profit Show Succesfully");
}else{
$this->session->set_flashdata('error', "Sorry, Profit Showing Failed.");
}
redirect($_SERVER['HTTP_REFERER']);
}
模型
function select_profit()
{
$this->db->select_sum("budget_tbl.surplus ");
$this->db->from("budget_tbl");
$this->db->like(‘surplus’,'2021-','after');
$qry=$this->db->get();
}
解决方案
完整代码
HTML
<form >
<div class="box-body" >
<div class="col-md-6" >
<div class="form-group" >
<label for="example" >Select Year</label >
<select class="form-control" name="year" id="Year" >
<option value="" >Select</option >
<option value="2015" >2015</option >
<option value="2016" >2016</option >
<option value="2017" >2017</option >
<option value="2018" >2018</option >
<option value="2019" >2019</option >
<option value="2020" >2020</option >
<option value="2021" >2021</option >
</select >
</div >
</div >
</div >
<div class="col-md-6" >
<div class="form-group" >
<label for="example" >Profit</label >
<input type="text" id="profitdiv" name="txtname" class="form-control" readonly >
</div >
</div >
</form >
<script >
$("#Year").change(function () {
var Year = $(this).val();
$.ajax({
type: "POST",
url: "<?php echo base_url (); ?>index/get_profit",
data: {Year: Year},
success: function (data) {
$('#profitdiv').html(data);
}
});
})
</script >
控制器
public function get_profit ()
{
$this -> load -> model ( 'Reports_model' );
$year = $this -> input -> post ( "val" );
$data = $this -> Reports_model -> select_profit ( $year );
if (!empty( $data )) {
echo "Profit Show Succesfully";
} else {
echo "Sorry, Profit Showing Failed";
}
}
模型
function select_profit($year)
{
$this->db->select_sum("budget_tbl.surplus ");
$this->db->from("budget_tbl");
$this->db->where(‘surplus >=’,$year.'-01-01 00:00:00');
$qry=$this->db->get();
return $qry -> result();
}
推荐阅读
- firebase - 特定事件的参数可以保存多少个值?
- python - 如何使用 bs4 仅抓取第一张 jpg 图像
- python - Selenium python:更改具有 Chrome 配置文件的默认保存目录
- python - 使用 asyncio,等待所有结果并另外取回它们的最简单方法是什么?
- c# - LINQ Double GroupBy 并将结果格式化为数组
- java - 将对象数组转换为不同格式的数组
- 3d - 如何优化 A-Frame 中的 3D 对象以加快加载速度
- mongodb - 对嵌套在 MongoDB Spring Boot 中的对象中的数组对象的 CRUD 操作
- c++-cli - 从 C++/CLI 调用本机 std::function
- c# - 当我将 json 字符串反序列化为 c# 对象时的空类