• 23-01-2014, 12:43:11
    #1
    Merhaba
    Bir Sipariş Takip Sistemi Üzerinde Çalışıyorum. Ancak bir yerde takıldım. Ben formdan 2 alandan gelen tarih bilgilerine göre bu iki alanın arasında kalan tarihleri mysql'de sorgulatıp exele yazdırmak istiyorum. Ancak olmuyor. Sorunun inputtan gelen verilerin tarih olarak okunmamasından kaynaklandığını düşünüyorum Kodlarım şu şekilde

    Formum
    <form action="siparisler.php?islem=secilentarihexel" method="POST">							
    BaÅŸlama Tarihi
    <input name="bastar" value="" type="text"> 
    BitiÅŸ Tarihi
    <input name="bittar" value="" type="text"> 
    <button type="submit" value"exele Dök">Exele Dök</button>
    </form>
    Exel Dosyam
    header("Content-Type: application/vnd.ms-excel");
    header("Content-disposition: attchment; filename=siparisler.xls");
    header('Content-Type: text/html; charset=utf-8');
    
    if($_GET["sayfa"]=="secilentarihexel"){
    echo 'SIPARISID' ."\t". 'TELEFON' ."\t". 'ADI SOYADI' ."\t". 'URUN ADI' ."\t". 'SIPARIS TARIHI' ."\t". 'SIPARIS ADEDI' ."\t". 'SIPARIS ADRESI'. "\t".'SIPARIS FIYATI' ."\t" .'SIPARIS HEDIYESI' ."\n";
    
    // Sorgumuz
    foreach($baglan->query("SELECT * FROM siparisler JOIN urunler USING(UrunID) WHERE SiparisTARIH between $_POST[bastar] and $_POST[bittar] AND Durum='iletildi'",PDO::FETCH_OBJ) as $row){
        
        
        $adisoyadi=Buyult($row->UyeADI);
        $urunadi=Buyult($row->UrunADI);
        $siparishediye=Buyult($row->SiparisHEDIYESI);
        $siparisadres=Buyult($row->SiparisADRES);
    echo $row->SiparisID ."\t". $row->Telefon ."\t". $adisoyadi ."\t". $urunadi ."\t". $row->SiparisTARIH ."\t". $row->SiparisADET ."\t". $siparisadres ."\t". $row->SiparisFIYAT ."\t" .$siparishediye. "\n";
    } 
    }
    Mysql Veritabanımda Tarihler Şu Şekilde Tutuluyor 2014-02-22 Ve Date Formatında Alan. Bunun Yanında Formdan Gönderdim Verileri De 2014-02-22 Bu Formatta Gönderiyorum Aralarındaki Tırnakları Bile Koyuyorum Ama Olmuyor Bunun Sebebi Nedir ? Ve Nasıl Yapabilirim Yardım Ederseniz Teşekkür Ederim.
  • 23-01-2014, 13:26:21
    #2
    Size tavsiye edeceğim en basit yöntem veritabanına tarihi kaydederken timestamp şeklinde kaydetmeniz. Bunun içinde örnek olarak gelen veriyi
    $tarih = "10-07-2040";
    $zaman = strtotime($tarih);
    şeklinde kaydederseniz bu formatta istediğiniz gibi aralık kontrolü yapabilirseniz.
  • 24-01-2014, 02:15:33
    #3
    konu güncel