Я пытаюсь получить данные из базы данных на основе формы отправки. Я использую метод AJAX для отправки данных через Ajax на мой контроллер. Но при попытке извлечь некоторые данные из базы данных я получаю ошибки. Я думаю, что я использую формат данных JSON при сохранении его в переменную. Пожалуйста, посмотрите пример, где я думаю, что я делаю неправильно в моем коде (контроллере).
например, $ test = $ this -input-> после ( 'pOption'); Помогите, пожалуйста, правильно его использовать.
. Для справки, пожалуйста, найдите код, прикрепленный ниже.
Вид: "form. php"
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test Form</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<link href='https://fonts.googleapis.com/css?family=Alegreya Sans SC' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Alegreya Sans SC' rel='stylesheet'>
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>data/css/normalize.css">
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>data/css/final.css">
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>data/css/finalmob.css">
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>data/css/finalnav.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>
<form action="" method="post">
<input type="text" value="Value1" id="ProID">
<input type="text" value="Value2" id="pOptions">
<input type="text" value="Value3" id="Myqty">
<button class="btn btn-success type="submit" id="addBSP" name="">ADD</button>
</form>
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
$(document).on("click","#addBSP", function(e){
e.preventDefault();
var pOptions = $('#pOptions').val();
var Myqty = $('#Myqty').val();
var ProID = $('#ProID').val();
//alert(pOptions);
//var name = $('#Myqty').val();
$.ajax({
url: "<?php echo base_url();?>Ajax/SelectItem",
type: "post",
dataType: "json",
data: {
pOptions: pOptions,
Myqty: Myqty,
ProID: ProID
},
success: function(data){
console.log(data);
},
error: (error) => {
console.log(JSON.stringify(error));
}
});
});
</script>
</body>
</html>
CI_Controller Ajax . php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Ajax extends CI_Controller {
public function index()
{
}
public function SelectItem()
{
$this->load->model('Test_Model');
if ($this->input->is_ajax_request()) { // First IF
$this->form_validation->set_rules('pOptions', 'My Option', 'required');
$this->form_validation->set_rules('Myqty', 'Quantity', 'required');
$this->form_validation->set_rules('ProID', 'Pro ID', 'required');
if ($this->form_validation->run() == FALSE){
$MyData = array('responce' => 'error' ,'message' => validation_errors());
}else{
$Variable1 = $this->input->post('ProID');
$Variable2 = $this->input->post('pOptions');
$Variable3 = $this->input->post('Myqty');
$resultData = $this->Test_Model->getData($Variable1, Variable2)
if ($resultData){
echo var_dump(resultData)
$MyData = array('responce' => 'success' ,'message' => 'Data found successfully');
}else{
$MyData = array('responce' => 'error' ,'message' => 'Data not Found ');
}
}else{ //first Else
echo "No direct script access allowed";
}
echo var_dump($MyData);
}
}
/* End of file Ajax.php */
/* Location: ./application/controllers/Ajax.php */
Test_Model. php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Test_Model extends CI_Model {
public function getData($Variable1, $Variable2){
$this->db->select('*');
$this->db->from('table1');
$this->db->join('table2', 'table2.id = table1.id');
$this->db->where('table1.xyz', $Variable2);
#$this->db->limit(12);
if($Variable1){
$this->db->where('table1.id', $Variable1);
$query = $this->db->get();
$result = $query->row_array();
}else{
$this->db->order_by('name', 'asc');
$query = $this->db->get();
$result = $query->result_array();
}
return !empty($result)?$result:false;
}
}
/* End of file Product_Model.php */
/* Location: ./application/models/Product_Model.php */