How to send data from the database to the view using ajax with codeigniter 3

2

Hello! I have a doubt. I'm developing a system for a furniture store. I want to make the owner edit the furniture that he has registered on the system. I can retrieve the data, but I can not put it in the fields of a modal window.

Theeditwindowwillbethis:

Icanretrievebankdataviaajaxandviacodeignitersegments.Buttheproblemistoputtheminthosefields.

$("#editarProduto").click(function(){
		var id = $("table#tabelaEstoque tbody .colorir td:first").text();
		if(id) {
			$.ajax({
				url: "HomeSistema/editarProduto/"+ id,
				data: {id:id},
				type: "post",
				dataType: "text",
				beforeSend: function() {
					$(".loadWateEditProduto").show();
				}
			}).done(function(dataProduto){
				window.alert(dataProduto);
				$("#editarProdutoEstoque").show();
				$(".loadWateEditProduto").hide();
			}).fail(function(){
				$("section#erroInternoEstoque").show();
				$(".loadWateEditProduto").hide();
			});
		}
		else
			$("#selectProduto").show();
	});

php code

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class HomeSistema extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->helper("url");
        $this->load->helper("form");
        $this->load->helper("date");
    }

    public function index()
    {
        if($this->session->has_userdata("nome")) {
            #listar usuários
            $this->load->model("recuperarUsuariosModel");
            $dados['usuarios'] = $this->recuperarUsuariosModel->recuperaUsuarios();

            # lista produtos
            $this->load->model("recuperaProdutosModel");
            $dados['produtos'] = $this->recuperaProdutosModel->recuperaProdutos();

            # listar Clientes
            $this->load->model("recuperaClientesModel");
            $dados['clientes'] = $this->recuperaClientesModel->recuperaClientes();

            $this->load->view("sistema/homeSistema-v",$dados);
        } else {
            redirect("login", "location");
        }
    }

    public function editarProduto() {
        $idProduto = $this->uri->segment(3);
        $this->load->model("RecuperaProdutosModel");
        $produtos['produto'] = $this->RecuperaProdutosModel->recuperaProdutosEdicao($idProduto);
        $this->load->view("sistema/homeSistema-v",$produtos);
    }

How do I edit the data brought from the bank? already tried with segments and via post.

    
asked by anonymous 02.01.2017 / 22:54

1 answer

0

First your logic is confusing, let's break it down: 1- Create a function that returns a JSON with the data of the products, only the data. 2- Use the .on ('click') function to load the values inside the inputs:    $ ('#ProductName'). val (productProduct.ProductName);

3- Once you have done this with all the data, you must recapture this data as soon as the client clicks save, you must send this data to a new function to perform the update in the database and return the response of success or error.

4- Through Ajax update the table of products with the new values.

Soon hehe.

Note: I like to use $ .post (UrlFunction, data, function (data) {'success'}, typeData);

    
22.01.2017 / 23:45