

PHP Mysql Den Veriyi Tarihe Göre Düzenleyip Çekme Fonksiyonu, Gelişmiş Bir Fonksiyondur
-
Tag : tarihe göre sipariş listeletme php ,php de tarihe göre üye listeletme, tarihe göre mysql den veri çekme, php de tarihe göre işlem yaptırmak....
Kendi e ticaret sisteminde kodladığım bir fonksiyondur. Aslında bunu birazda tbt ye birşeyler yapmak istememden dolayı kodladım yoksa çoktan bitirmiştim. Sadece yeni başlayanlar için bir kaç şey ekledim.
E ticaret sistemlerinin yüklü bir db si olur onun için bu fonksiyon geliştirilmelidir. Hatta direk sql komutunun içine yazılması tavsiyemdir.
Ama php ye yeni başlayan arkadaşlar için aydınlatan bir örnek olacaktır.
Anlatımı isteyen arkadaşlar olursa buraya neyi nerden niçin çektiğimi açıklarım. (Tbt yi sadece magazinsel düşünmeyenler için istek olursa)
Kendi sitelerinizde bloglarınızda yayımlamak isterseniz , eklerseniz sevinirim. (Kaynak : erdemuzun.net --> Açılmıyor ama açılacak yakında )
<?php function raporlamayap($aranacak_zaman,$hangitariharasini,$gunsayisi,$bugunmu){ $butarihile = strtotime($aranacak_zaman); $butariharasinilistelet = strtotime($hangitariharasini); if($bugunmu=="bugun"){ $butarihile = strtotime(date("d-m-Y",time())); $bitistarihilistelet2 = $butarihile+86399; $sonuc = "BETWEEN $butarihile and $bitistarihilistelet2"; }else{ if($aranacak_zaman==""){ $sonuc=""; }else{ if($gunsayisi!=""){ $bitistarihilistelet2 = ($butarihile - ($gunsayisi*86400))-1; $butarihile = $butarihile-1; $sonuc = "BETWEEN $bitistarihilistelet2 and $butarihile"; }else{ if($butarihile >$butariharasinilistelet){ $sonuc = "BETWEEN $butariharasinilistelet and $butarihile"; }else{ $sonuc = "BETWEEN $butarihile and $butariharasinilistelet"; } } } } return $sonuc; } echo raporlamayap("05-01-2013 00:00:00","06-04-2013 00:00:00","3","bugun"); ?> <?php // ekstradan eşantiyon ;) şaka şaka kontrol etmek isterseniz diye uğraşmayın diye ekledim. function tarihecevir($tariha){return date("d.m.Y G:i:s",$tariha);} echo "1. Tarih : ".tarihecevir(1357125120)." 1.tarih :".tarihecevir(1357384320); ?>
Sql komutunuz içine eklemeniz yeterli olacaktır.$a= mysql_query("SELECT * FROM tablo WHERE tarih ".raporlamayap("05-01-2013 00:00:00","06-04-2013 00:00:00","3","bugun")
."");
while($a = mysql_fetch_array($a)){
// gerisini çek gitsin işte
} -
Düzenleyince komutlar bazen bozluyor, sql içine yerleştirmede "" lar sıkıntı çıkartır onuda düzeltirsiniz.
Bu arada bugun diye yazan yer yazdığı sürece o günkü bilgileri getir.
diğer tarafların çalışması için bugun diye yazan yerin sonuna rastgele bir şey ekleyin...
Eğer ilk tarih kısmı girilmezse fonksiyon çalışmaz.
İlk tarih kısmı girilmiş olupta, gün sayısı yerini ki orayı 1 olarak tanımladım--> girdiğiniz tarih den 1 gün öncesini listeletir. 3 yaparsanız girdiğiniz ilk tarihden 3 gün öncesini listeletir.
bugun kısmını ve 1 kısmını boş bırakırsanız, ve ilk tarih ile 2. tarih arasını doldurursanız sadece o tarihler arasındaki bilgileri ekrana basacaktır.
Gece geç oldu kusura bakmayın daha ayrıntılı isterseniz onuda açıklarım tek tek...
Kısaca bu kadar , ii geceler.
Dediğim gibi geliştirmeye uygun... TOP sizde..
-
Çizik takipteyim