![]() |
iki tarih arası arama yaptırma Nerede hata yapmışım yardımcı olur musunuz. <form action="" method="post" class="form-inline"> <div class="input-group"> <input class="form-control" type="date"name="baslangic_tarihi" > </div> <div class="form-group"> <label class="text" for="exampleInputPassword2">ve</label> <input type="date" class="form-control" name="bitis_tarihi"> </div> <button type="button" class="btn btn-default"> <span class="glyphicon glyphicon-search"></span> Arama yap</button> </form> </div> <?php $baslangic_tarihi = "sip_tarihi"; $bitis_tarihi = "sip_tarihi"; $sqlim = "SELECT * FROM siparis WHERE sip_tarihi BETWEEN $baslangic_tarihi and $bitis_tarihi "; $yazdir = mysql_query($sqlim); ?> |
<form action="" method="post" class="form-inline"> <div class="input-group"> <input class="form-control" type="date"name="baslangic_tarihi" > </div> <div class="form-group"> <label class="text" for="exampleInputPassword2">ve</label> <input type="date" class="form-control" name="bitis_tarihi"> </div> <button type="button" class="btn btn-default"> <span class="glyphicon glyphicon-search"></span> Arama yap</button> </form> </div> <?php $baslangic_tarihi = "sip_tarihi"; $bitis_tarihi = "sip_tarihi"; $sqlim = "SELECT * FROM siparis WHERE sip_tarihi BETWEEN '$baslangic_tarihi' and '$bitis_tarihi'"; $yazdir = mysql_query($sqlim); ?> tırnak hatasından başka bir hata yok ekrana yazdırmak için while veya foreach gibi mysql_fetch_array veya assoc filan kullanıyorsunuz dimi ? |
while ($Kategori = mysql_fetch_array($q)) echo $ad.$soyad;?> Bu şekilde ekrana alıyorum ama ben butona tıklamadan sonuç veriyor. |
Mobilden yazdigim icin duzenleyemiyorum ama sorun su gibi duruyor. Yazdiginiz kod sayfa her load oldugunda calisiyor. Kodu su satirlarin arasina alirsaniz problrm duzelir diye dusunuyorum. <?php if($_POST){ //kod buraya } ?> |
Alıntı:
Kod: if(isset($_POST)) |
<?php if($_POST){ $baslangic_tarihi = $_POST["baslangic_tarihi"]; $bitis_tarihi = $_POST["bitis_tarihi"]; $sqlim = "SELECT * FROM siparis WHERE sip_tarihi BETWEEN $baslangic_tarihi and $bitis_tarihi "; $yazdir = mysql_query($sqlim); }else{ ?> <form action="" method="post" class="form-inline"> <div class="input-group"> <input class="form-control" type="date"name="baslangic_tarihi" > </div> <div class="form-group"> <label class="text" for="exampleInputPassword2">ve</label> <input type="date" class="form-control" name="bitis_tarihi"> </div> <button type="button" class="btn btn-default"> <span class="glyphicon glyphicon-search"></span> Arama yap</button> </form> </div> <?php } ?> |
Arama Kodlarım Bu şekilde düzenledim burada hata nerede yapıyorum. İki tarih arası yazdırıcam aynı sayfa içerisinde post ediyorum. ama sürekli bi sorunla karşılaştım <html> <body> <form method="post" action="deneme.php"> <input type="date" name="search" size=25 maxlength=25> <input type="date" name="search1" size=25 maxlength=25> <input type="Submit" name="Submit" value="Submit"> </form> <? include("baglanti.php"); $search=@$_POST["search"]; $search1=@$_POST["search1"]; $result = mysql_query("SELECT * FROM siparis WHERE sip_tarihi BETWEEN* %$search%' and %$search1%'"); $bulunan=0; while($r=mysql_fetch_array($result)) { $bulunan++; $resim=$r["resim"]; $id=$r["id"]; $sip_tarihi=$r["sip_tarihi"]; //yazdırıyorum. echo "$id -> $resim "; echo "<a href=".$sip_tarihi.">".$sip_tarihi."</a><br>"; } if ($bulunan==0){ echo "Hiç kayıt bulunamadı."; } else { echo $bulunan." siparis bulundu"; } ?> </body> </html> |
Alıntı:
|
Kodum aşağıdaki gibidir. <?php /* Veri Tabanına Bağlan */ $sunucu = "localhost"; //sunucu $kullanici = "root"; //veritabani kullanici adi $parola = ""; // veritabani sifresi $veritabani = "murat";// veritabani ismi $baglanti = mysql_connect($sunucu, $kullanici, $parola); mysql_query("SET NAMES = ''utf8"); mysql_query("SET CHARACTER SET utf8"); mysql_query("SET COLLATION_CONNECTION = 'utf8_turkish_ci'"); if(!$baglanti) die("MySQL sunucusuna baglanti saglanamadi!"); mysql_select_db($veritabani, $baglanti) or die ("Veritabanina baglanti saglanamadi!"); ?> <html> <body> <form method="post" action="deneme.php"> <input type="date" name="bas_tarih" size="25" maxlength="25"> <input type="date" name="bit_tarih" size="25" maxlength="25"> <input type="Submit" name="Submit" value="Submit"> </form> <?php $bas_tarih = @$_POST['bas_tarih']; $bit_tarih = @$_POST['bit_tarih']; if(!empty($bas_tarih) && !empty($bit_tarih)) { $search = mysql_query("SELECT * FROM siparis WHERE sip_tarihi BETWEEN '$bas_tarih' AND '$bit_tarih' ORDER by id DESC"); $sorgu = mysql_query($search); while($yaz=mysql_fetch_object($sorgu)){ echo $yaz->sip_no ." - ".$yaz->dos_no ."<br />"; } } else { echo 'Alanları boş bırakmayın!'; } ?> </body> </html>verdiği hata ( ! ) Warning: mysql_query() expects parameter 1 to be string, resource given in C:\wamp\www\murat\deneme.php on line 33 Call Stack # Time Memory Function Location 1 0.0008 377824 {main}( ) ..\deneme.php:0 2 1.0952 388776 mysql_query ( ) ..\deneme.php:33 ( ! ) Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\murat\deneme.php on line 35 Call Stack # Time Memory Function Location 1 0.0008 377824 {main}( ) ..\deneme.php:0 2 1.0953 389024 mysql_fetch_object ( ) ..\deneme.php:35 33 satır : $sorgu = mysql_query($search); 35. satır : while($yaz=mysql_fetch_object($sorgu)){ |
şu sorunumu çözecek biri yok mu ? |
SELECT * from tablo WHERE tarihalani BETWEEN '$bas' AND '$bit' ORDER BY id ASC mysql tablonuzda tarih alan türü date seçili olması lazım. tarih formatınız yıl-ay-gün şeklinde gönderiniz. 2014-09-29 gibi tarih formatınız şayet bir ajax kullanıyorsanız ordan bu formata alabilirsiniz. yada dateformat atayabilirsiniz. |
Alıntı:
Düzeltilmiş Kodlarımın son hali. <html> <body> <?php /* Veri Tabanına Bağlan */ $sunucu = "localhost"; //sunucu $kullanici = "root"; //veritabani kullanici adi $parola = ""; // veritabani sifresi $veritabani = "murat"; // veritabani ismi $baglanti = mysql_connect($sunucu, $kullanici, $parola); mysql_query("SET NAMES = ''utf8"); mysql_query("SET CHARACTER SET utf8"); mysql_query("SET COLLATION_CONNECTION = 'utf8_turkish_ci'"); if (!$baglanti) die("MySQL sunucusuna baglanti saglanamadi!"); mysql_select_db($veritabani, $baglanti) or die("Veritabanina baglanti saglanamadi!"); ?> <form method="post" action="deneme.php"> <input type="date" name="bas_tarih" size="25" maxlength="25"> <input type="date" name="bit_tarih" size="25" maxlength="25"> <input type="Submit" name="gonder" value="Ara"> </form> <?php if (@$_POST) { $bas_tarih = strtotime($_POST["bas_tarih"]); $bit_tarih = strtotime($_POST["bit_tarih"]); echo "<h2>" . date("d.m.y", $bas_tarih) . "ile" . date("d.m.y", $bit_tarih) . "arası siparişler<h2>"; $sipsor = mysql_query("select * from siparis where sip_tarihi>='$bas_tarih'and sip_tarihi<='$bit_tarih' order by sip_tarihi desc"); while ($sip_yaz = mysql_fetch_array($sipsor)) { echo "<b>Sip Tarihi : </b>" . $sip_yaz["sip_tarihi"] . "<br>"; echo "<hr>"; } } else { echo "Tüm Siparişler"; echo "<br>"; echo "<br>"; $sipsor = mysql_query("select * from siparis order by sip_tarihi desc"); while ($sip_yaz = mysql_fetch_array($sipsor)) { echo "<b>Sip Tarihi : </b>" . $sip_yaz["sip_tarihi"] . "<br>"; echo "<b>Sip No : </b>" . $sip_yaz["sip_no"] . "<br>"; echo "<hr>"; } } ?> </body> </html> |
$sipsor = mysql_query("select * from siparis where sip_tarihi>='$bas_tarih'and sip_tarihi<='$bit_tarih' order by sip_tarihi desc"); bas ve bitiş tarihlerine manuel tarih yazıp sorgulayın. sorgu şayet çalışıyorsa. bu tip sorguda strtotime gerek yok direk sorgulayabilirsiniz. bu sorgunuzu direk phpmyadmin yada heidisql gibi bir araçınız var ise ordan direk çalıştırın sorgu sonucu ne dönüyor. |
strtotime ları kaldırdım sorunum çözüldü ama bu seferde ekrana yazdırdığım tarihle ilgili sorun yaşıyorum. 2014/01/01 gibi çıkıyor bunu 01/01/2014 gibi nasıl çevirebilirim. |
<?php $date = new DateTime('2000-01-01'); echo $date->format('Y-m-d H:i:s'); ?> gibi isteginize göre formatlayabilirsiniz. bir örnekde burda mevcut. <?php $date=date_create("2013-03-15"); echo date_format($date,"Y/m/d H:i:s"); ?> |
| Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 05:00:49. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.