1. sayfa
Naptın sen öyle. Kayıt tarihi zaten var. Hesaplama esnasında iki gün ekle. Ayrı field açılmaz bunun için. |
anlatamadım sanırım. benim amacım iki günden fazla bekleyen talepleri işlyebilmek... cronjob ile mail bildirimleri yada zamanında destek için prim vs işleri için düşünmüştüm.. belki ben hala anlamadım am sanıyorumki anlatamadım. |
hiç extra form verisi göndermeden sql içinde aynı anda current timestamp olarak biri o anki tarihi diğerine ise o anki tarihe iki gün ekleyerek otomatik veri girdirmek mümkün değilmi yani? |
yahu arkadaş nere yazdıysam bi cevap alamadım. yine de teşekkürler. |
Yapmak istediğin şey için bir zaman fonksiyonuna ihtiyacın var. Örneğin elinde bir tablon var tabloadı: talep id icerik tarih Bu şeklde varsayalım. talep oluşturulduğu zaman tarih stununa belirli şekilde bir tarih yönlendirmen lazım. tarih stunun türü date olmalı. ve şu şekilde olmalı 2014-03-28 talebin ekendiği php kodlarında otomatik atıyorsa tarhi tarih yapısını buna çevir. date("Y-m-d") bunu veritabanına insert ettir. Bitş tarihi diye yeniden bir alan oluşturman gerekmez. bunun için tarih fonksiyonu nu alıp eğer bitiştarihinden 2 sonra ise şu işlemleri yap diye fonksiyon yazman lazım. ayrıca talep işlemlerinin yapısını değiştirmen lazım. tablona ayrıca bir alan ekleyeceksin örneğin : durum durum değeri sayısal içerikler alacak. örneğin birisi talep oluşturdu diyelim. talep oluştururken status u onay bekliyor ise durum değeri 0 omalı. inset ederken status='0' şeklinde yapman lazım. bunun amacı yapacağımız fonksiyonda kontrolleri sağlamak. function tarihfarki($tarih_gir){ bu senin tarih fonksiyonun olacak. kendi kullandığım fonksiyon. şimdi bunu derleyelim dosya adımız index.php
veritabanı bağlantı dosyanı yukarıdakiyle değiştir. include "baglan.php"; daha sonra tablomuzdan verileri çekeceğiz. ve while döngüsü ile tüm sorgulayacağız. $sql = mysql_query("SELECT * FROM talep"); while($cek = mysql_fetch_assoc($sql)){ şimdi gelelim kontrolleri sağlayacağımız kısıma if($cek['durum'] == "0") { durum değeri 0 ise şu işlemleri yap diyeceğiz. if($cek['durum'] == "0"){ $bitistarihi = date("Y-m-d" ,strtotime("+2 days",strtotime($cek['kayittarihi']))); } burada ise zaman kontrol fonksiyonumuzu oluşturduk. yani durum değeri 0 ise $bitistarihi kayt tarihinden 2 gn sonra olsun dedik. şimdi kayıt tarhi ile zaman fonksiyonumuz arasından farkını alıp kullanacağız $fark = tarihfarki($bitistarihi); fark değişkeni oluşturup önceden oluşturmuş olduğumuz tarihfarki fonksiyonumuz içerisinde $bitistarihi tarihini çalıştırdık bundna sonrası ise çok basit if($fark <= "0"){ şayet fark 0 ise yani taep eklenme tarihi 2014-04-15 ise bugünün tarihi 201-04-17 eğer aradaki fark sıfır ise yani kayıt tarihinden 2 gün sonra ise şunları yap diyoruz bundna sonrası sana kalmış birşey olacaktır. nasıl bir uyarı verdirtmek istiyorsan onun eklersin dilersen mail atarsın. Şimdi dosyalarımızı derleyeip tek bir şablon haline sokalım. <? takıldığın biryer olursa yardımcı olurum. İyi çalışmalar. |
Rica ederim. |
1. sayfa
uzaman sorusu dedim çünkü iki gün boyunca istediğim gibi birşeyi anlatan tek bir web sayfası bulamadım.
sorunum şu:
talep formuna veri girerken kayittarihi sutununa current_timestamp olarak otomatik tarih atıyor.
ben ikinci bir tarih alanı daha oluşturup kayittarihi2 desem ve bu alana da otomatik olarak iki gün sonrasının tarihini nasıl attırabilirim?
herkes aynı şeyleri anlatmış
fakat phpmyadminde cinsi date olan sutunda 'tanımlandığı gibi' yazan default value de bi örnek veren olmamış.
Aslında amacım bir talep formunda gelen bir talep e iki gün geçmesine rağmen cevap verilmezse ('sonuc' sutununda hala değer 'Onay Bekliyor' ise) uyarı verdireceğim.
şöyle düşüncelere gittim ama beceremedim
sonra bu düşünceden vazgeçip yukarda anlattığım gibi bir ikinci tarih (zamanaşımı) sutunu koymaya karar verdim..
kod yada fikir olarak birde kullanım örneği olarak yardım ederseniz sevinirim.
Teşekkürler
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.