簡體   English   中英

僅顯示特定值的計數

[英]Show count for only specific values

我不明白我在哪里出錯了。 我希望計數器僅在付款狀態(數據庫中的列是 payment_status)顯示 FREE 或 COMPLETED 時顯示,並且列名稱、歌曲和樂隊是否填寫了某些內容(不是空白)。 下面是我的代碼,但是即使 payment_status 是 null,它也會計算條目。 任何幫助表示贊賞。

我所做的:除了在我能找到的所有地方搜索之外,我還嘗試取出、重新排列和更改 Empty 和 NULLIF 部分的每一行中的不同值。

這是我的代碼

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, name, band, song, extra, band2, song2, extra2, band3, 
                song3, extra3, item_name, payment_status 
        FROM nametable";
$result = $conn->query($sql);


$resultt = mysqli_query($conn, "select COUNT(  NULLIF( song, '' ) ) +
                                       COUNT(  NULLIF( song2, '' ) ) + 
                                       COUNT(  NULLIF( song3, '' ) ) AS count 
                                FROM `nametable` ");

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        if( $row['payment_status'] == "Completed" || 
            $row['payment_status'] == "Free")
        {
        
            if( !empty($row["name"]) && 
                !empty($row["band"]) && 
                !empty($row["song"])  )
            {

                if(!$result) {
                    die('Error: ' . mysqli_error($link));
                } else {
                    $num_rows = mysqli_fetch_assoc($resultt);
                    // echo it
                    echo "<font color='aqua'>" . $num_rows['count']."</font>";
                }
            }
        }
    }
} else {
    echo " ";
}
$conn->close();
?> 

您可以直接從 db 獲取結果

select COUNT(  NULLIF( song, '' ) ) +
       COUNT(  NULLIF( song2, '' ) ) + 
       COUNT(  NULLIF( song3, '' ) ) AS count 
       FROM `nametable`
       WHERE payment_status IN ('FREE ', 'COMPLETED')
       AND concat(ifnull(Name,''), ifnull(Song,''), ifnull(Band ,'')) != ''

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM