在php codeigniter中使用 AJAX 获取表中列的值

edqdpe6u  于 2022-12-16  发布在  PHP
关注(0)|答案(1)|浏览(122)

我有一个简单的codeigniter购物网站,其中我有一个SQL表如下:

因此,每当用户选择产品尺寸时,我都希望显示还剩多少件,因此我对这段代码采用了以下方法:

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">

下面是我的控制器和视图的代码,

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;
   }

然而,这并不呼应列中的计数,任何人都可以请告诉我如何解决这个问题,提前感谢。

nkoocmlb

nkoocmlb1#

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;
}

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};
}

然后你可以把数据放入reponse变量中,然后就console了。

相关问题