如果其他在Foreach PHP内部


If else inside Foreach PHP

我试图在ajax中创建ShowMonth,但输出的是一个月数,如1、2、3、4、5、6、7、8、9、10、11、12。我希望月份是一月、二月、三月。。12月

这是我的代码:

function list_bulan($id_tahun){
$sql   ="SELECT DISTINCT(MONTH(waktu)) AS bulan FROM aktiv WHERE YEAR(waktu) = $id_tahun ORDER BY MONTH(waktu) ASC";
    $query = $this->db->query($sql);
    $html  = "<option value=''>-- Pilih bulan --</option>";
    foreach ($query->result_array() as $value) {
    if ($value['bulan'] == 1) {
    // january
    echo january;
  }
  $html .=
  "<option value='".$value['bulan']."'>"
  .$value['bulan']. // how to create if in this line? i'm try but with no success
  "</option>";
    }
    echo $html;
}

如何在foreach内创建月份名称?有答案吗?

"<option value='".$value['bulan']."'>".date("F", mktime(null, null, null,$value['bulan']))."</option>";

如果您想要长名称,请使用

 date("F", mktime(null, null, null,$your_month_number));

如果你想要短期(二月,三月,四月)

date("M", mktime(null, null, null,$your_month_number));

但你的回声一月也将被视为一个常数。应该是回声"一月";

但你并不真的需要if/语句,如果你只使用我刚才说明的日期('M'),并直接从$value['bulan']值中回声

为什么不尝试

SELECT DISTINCT MONTH(waktu) AS bulan, MONTHNAME(waktu) as bulan_name FROM aktiv WHERE YEAR(waktu) = $id_tahun ORDER BY MONTH(waktu) ASC

根据数字中的MySQL MONTHNAME()。