首页 > 解决方案 > 如何根据类似id的特定列的值回显不同的字符串?

问题描述

我有一个名为“付款”的表,数据是:

id   client_id   month_id
1    99          10
2    99          11
3    99          12

现在在我的前端,我想显示客户端 99 在 month_id echo 'October Paid' 中是否有 10 个值;如果有值 11 回显“十一月付费”并且与所有月份相似,具体取决于 month_id 的值。

我怎样才能做到这一点?我试过这个:

<?php
    $sql = "SELECT * FROM payment WHERE client_id = 99";

    $result = $connect->query($sql);
    $data = $result->fetch_array();

    $mnthId = $data['month_id'];

    if ($mnthId = 11) {
        echo "November Paid";
    } else {
        echo "Unpaid";
    }
?>

但我总是得到第一行的结果,我的意思是十月支付。其他如果条件不起作用。任何帮助都深表感谢。TIA

标签: phpmysql

解决方案


我宁愿利用MySQLMonthname()Str_to_Date()功能,直接从查询本身获取月份名称:

<?php
    $sql = "SELECT *, 
                   MONTHNAME(STR_TO_DATE(month_id, '%m')) AS month_name 
            FROM payment 
            WHERE client_id = 99";

    $result = $connect->query($sql);
    $data = $result->fetch_array();

    echo $data['month_name'] . " Paid";
?>

请参阅此答案:https ://stackoverflow.com/a/53213448/2469308了解更多详细信息。


推荐阅读