Tengo un sitio web de compras simple en codeigniter en el que tengo una tabla sql como la siguiente:
Entonces, cada vez que un usuario selecciona el tamaño de un producto, quiero mostrar cuántas piezas quedan, así que tomé el siguiente enfoque para este código:
function checkstock() { var stockid = $(".stockid").val(); var idp = $("#idp").val(); var transfer = [stockid, idp]; $.ajax({ type: "post", url: "<?php echo base_url(); ?>index.php/homecontroller/checkstock", data: { result: JSON.stringify(transfer) }, success: function(response) { if (response) { $('#msg').html('<span style="color: green;">ONLY ' + stockid + "</span>"); } } }); } <input id="idp" name="prodid" value="<?php echo $product->id;?>" type="hidden"> <input class="stockid" type="radio" onclick="checkstock();" name="size" value="xs"> <input class="stockid" type="radio" onclick="checkstock();" name="size" value="s"> <input class="stockid" type="radio" onclick="checkstock();" name="size" value="m">A continuación se muestra el código de mi controlador y vista,
function checkstock(){ $post = json_decode($_POST['result']); $idp = $post[1]; $stockid = $post[0]; $exists = $this->product->checkstock($idp,$exists); echo $exists; } function checkstock($idp,$stockid) { $this->db->select($stockid); $this->db->where('id', $idp); $this->db->from('product'); $query = $this->db->get(); $result = $query->result(); return $result; }
Sin embargo, esto no refleja el conteo en la columna, ¿alguien puede decirme cómo solucionarlo? Gracias de antemano.
DESDE
function checkstock($idp,$stockid) { $this->db->select($stockid); $this->db->where('id', $idp); $this->db->from('product'); $query = $this->db->get(); $result = $query->result(); return $result; }PARA
function checkstock($idp,$stockid) { $this->db->select($stockid); $this->db->where('id', $idp); $this->db->from('product'); $query = $this->db->get(); $result = $query->row(); return $result->{$stockid}; } Luego puede obtener datos en la variable de reponse y simplemente console .