Как хранить Ajax Размещать данные запроса в переменной для отдельной записи в codeigniter - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь получить данные из базы данных на основе формы отправки. Я использую метод 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 */
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...