你为什么不传递参数?

时间:2017-10-15 13:24:40

标签: javascript php codeigniter

参数未传递给模型,因此sql查询不会产生结果。它只显示没有,甚至没有错误。为什么不将参数传递给模型?数据库中的sql查询正常工作,变量之前的日期是忽略时间,因为在数据库中该字段的类型为datetime

控制器

function __construct()
{
    parent::__construct();

    $this->load->model('M_Login');
     $this->load->model('M_Porcentaje');


}

public function tabla_porcentaje(){


$fecha_ini = $this->input->post('fecha_ini');
$fecha_ter = $this->input->post('fecha_ter');



$data['consulta'] = $this->M_Porcentaje->tabla_porcentaje($fecha_ini, $fecha_ter);
$this->load->view('usuarios/test.php',$data);


 }

模型

public function tabla_porcentaje ($fecha_ini, $fecha_ter){



$this->db->select("motivos_citas.descripcion_mot,COUNT(*) AS cantidad_motivos, (SELECT COUNT(motivos_citas.descripcion_mot)* 100 / COUNT(citas.id_ci) FROM citas AS citas WHERE date(citas.fecha_ini) BETWEEN date('$fecha_ini') AND date('$fecha_ter') ) AS porcentaje");
$this->db->from("citas");
$this->db->join("motivos_citas","citas.id_mot=motivos_citas.id_mot");
$this->db->where("date(citas.fecha_ini) BETWEEN date('$fecha_ini') AND date('$fecha_ter') ");
$this->db->group_by("motivos_citas.descripcion_mot");
$consulta = $this->db->get();

 return $consulta->result();
}

AJAX

<script>
$(document).ready(function(){

$("#btn_buscar").click(function(evento){


 var fecha_ini =  $("#fecha_ini").val();
 var fecha_ter =  $("#fecha_ter").val();

 $.ajax({

  url: "<?php echo base_url();?>C_Porcentaje/tabla_porcentaje/",
  type: 'post',
  data: { "fecha_ini": fecha_ini, "fecha_ter": fecha_ter },

    success: function(response){ 

       alert($("#fecha_ini").val());
       alert($("#fecha_ter").val());
       window.open('<?php echo base_url();?>C_Porcentaje/tabla_porcentaje/', '_blank');
     }

    });

   });

  });
 </script>

2 个答案:

答案 0 :(得分:0)

你的装订不合适。你应该使用:

  

$(文件).on(&#39;点击&#39;,&#39; #buscar&#39;,功能(网址){

答案 1 :(得分:0)

如果控制器将读取数据,请尝试使用json_decode(file_get_contents("php://input"))而不是$this->input->post()

public function tabla_porcentaje(){

  $input_post = json_decode(file_get_contents("php://input"));

  $data = array (
   'fecha_ini' => $input_post->fecha_ini,
   'fecha_ter' => $input_post->fecha_ter
  );

   $this->load->model('M_Porcentaje_PDF');
   $this->M_Porcentaje_PDF->tabla_porcentaje($data);

}