• 15-05-2018, 14:01:22
    #1
    Merhaba Arkadaşlar,

    Mysql den çekmiş olduğum verilerin sadece 1 aylık olanlarını göstermek istiyorum inner join kullanarak yaptım fakat WHERE MONTH(tarih) = MONTH(CURDATE()) gibi kodları eklediğimde hata alıyorum sizce nereden yanlış yapıyor olabilirim.

    Yardımcı olursanız sevinirim.

    $habersor=mysql_query("select * from haberler inner join kategoriler on kategoriler.k_id = haberler.k_id order by hit DESC limit 4");
  • 15-05-2018, 14:33:20
    #2
    Öncelikle eski mysql kodlarını kullanma çok fazla açık var.Bunu şu şekilde yapabilirsin.

    while($haberler = mysql_fetch_assoc($habersor))
    {
         $date_a = new DateTime(date('Y-m-d H:i',$haberler['tarih'])); //Haber tarihi
         $date_b = new DateTime(date('Y-m-d H:i')); //Şu anki tarih
    
         $interval = date_diff($date_a,$date_b); //İkisinin farkı
         if($interval->format('%a') >= "30") //Eğer fark 30 gün veya daha üstüyse
         {
              echo $haberler['icerik'];
         }
    }