首頁  >  問答  >  主體

查詢不同的值,其中id在一個值列表中 - 給我一個錯誤的結果

$('#btnmails').on('click', function(){
    let ids = $.map($('.atitle'), (e) => $(e).attr('data-id'));
    ids = JSON.stringify(ids);
    console.log(ids);  // ["26","25","24","23","22","21"]
    $.post('pro.php', {fn: 'btn_mails', args: [ids]}, function(data){
        console.log(data);  // 0 - but it is not true
    });
});

pro.php

#
function btn_mails($ids){
    global $db;
    $sq = "select distinct mail from clients where id in ('" . $ids . "')";
    $st = $db->prepare($sq);
    $st->execute();
    $arr = $st->fetchAll();
    echo count($arr);
}

我在表中擁有所有六個 ID,每個 ID 都有不同的郵件

# 所以結果應該是 6 而不是 0

請幫忙

P粉659516906P粉659516906182 天前351

全部回覆(1)我來回復

  • P粉298305266

    P粉2983052662024-04-01 15:21:43

    我認為你的問題出在你的 php 函數

    可能 $ids 是一個數組,因此您必須使用 implode 將其轉換為字串

    #像這樣

    function btn_mails($ids){
        global $db;
        $sq = "select distinct mail from clients where id in (" . implode(', ', $ids) . ")";
        $st = $db->prepare($sq);
        $st->execute();
        $arr = $st->fetchAll();
        echo count($arr);
    }

    回覆
    0
  • 取消回覆