Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

<select> de seçili değer gelmesi

Merhabalar,

sayfada listeleme yapıyorum ve listeleme filtrelerini <select><option> kullanarak kullanıcıya seçtiriyorum farklı filtreler var her filtre ayrı çalışıyor fakat <select>i seçip filtreleye basınca filtreleme yapıyor ama <select> in default değeri geliyor gene.
kodda örnek verirsem ben son 3 günlük filtreleme yapıyorum ekranda filterli olarak listeleniyor ama filtrede gene tarihe göre filtrelemek için seçiniz yazısı geliyor.




<link rel="stylesheet" href="css/red.css" type="text/css" media="screen" />
<table>
<td><table>
<form method="POST" action="list.php" name="tarih">
<select name="tarih" >
<option name="0" value="1" >Tarihe göre filtrelemek için seçiniz</option>
<option name="1" value="1" >Son 1 günlük</option>
<option name="2" value="1">Son 3 günlük </option>
<option name="3" value="1">Son 1 haftalık</option>
<option name="4" value="1">Son 1 aylık</option>
<option name="5" value="1">Tüm görüşmeler</option></select>

<br/><?php// echo "Önce tarih aralığını seçiniz."?>
<br/><input type="submit" value="Tarihe göre filtrele">
</form>
<br/>
<br/><br/>

<form method="POST">
<p class="ui-widget"><label for="adsoyad">Adı Soyadı</label>
<input type="text" id="adsoyad" name="adsoyad" /> &nbsp;
<input type="hidden" id="kisi_id" name="kisi_id" />
<?php// echo "Lütfen görüşmelerini görüntülemek istediğiniz kişiyi giriniz." ;?>
<br/><input type="submit" value="İsime göre filtre">
</form>
<br/>
<br/><br/>

<form method="POST" action="list.php" name="gorusme" >
<select name="gorusme">
<option value="0">Görüşme durumuna göre filtreleme</option>
<option value="1">Görüşme tamamlandı</option>
<option value="2">Görüşme ertelendi</option>
<option value="3">Görüşme iptal edildi</option>
<option value="4">Görüşmek için bekliyor</option></select>

<br/><?php// echo "Lütfen görüşmeleri görüntülemek istediğiniz durumu giriniz." ;?>
<br/><input type="submit" value="Görüşme durumuna göre filtrele">
</form>
<br/><br/><br/>

<form method="POST" name="konuda">
<input type="text" name="konuda" value="Değer giriniz."><br/>
<br/><input type="submit" value="Konulara göre filtrele">
</form>


<?php

$kisi_id=$_POST['kisi_id'];

//////////////////////////////////// listeleme /////////////////////////////////
$sql = mysql_query("select * from gorusme");
$sayfa_sayisi = (mysql_num_rows($sql)/15);
$sayfa_sayisi =ceil($sayfa_sayisi);
if($_GET["sayfa"])
$sayfa = ($_GET["sayfa"] - 1) * 15;
else
{
$sayfa = 0;
}

//$sql = mysql_query("select * from gorusme limit $sayfa, 15");

///////////////////////////////////////////////////////////////////////////////////////////

// tablodan bilgi alın
if (isset($_POST['tarih']))
$i=$_POST['tarih'];
else
$i="0";
if (isset($_POST['gorusme']))
$y=$_POST['gorusme'];
else
$y="0";
if(is_null($_POST['konuda']))
{
if($i=="0" and $y=="0" and $kisi_id==null)
{
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g where a.kisi_id=g.kisi_id ORDER BY g.gorusme_tarihi desc,g.gorusme_saati,g.gorusme_id limit $sayfa, 15";
$resultset=mysql_query($sql,$db);
}

else{
if(!is_null($y))
{
if($y=="1")
{
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g where a.kisi_id=g.kisi_id and g.gorusme_durumu='$y' ORDER BY g.gorusme_tarihi desc,g.gorusme_saati limit $sayfa, 15 ";
}
elseif($y=="2")
{
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g where a.kisi_id=g.kisi_id and g.gorusme_durumu='$y' ORDER BY g.gorusme_tarihi desc,g.gorusme_saati limit $sayfa, 15";
}
elseif($y=="3")
{
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g where a.kisi_id=g.kisi_id and g.gorusme_durumu='$y' ORDER BY g.gorusme_tarihi desc,g.gorusme_saati limit $sayfa, 15";
}
elseif($y=="4")
{
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g where a.kisi_id=g.kisi_id and g.gorusme_durumu='$y' ORDER BY g.gorusme_tarihi desc,g.gorusme_saati limit $sayfa, 15";
}
}
if(!is_null($i))
{
if($i=="5" )
{
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g where a.kisi_id=g.kisi_id ORDER BY g.gorusme_tarihi desc,g.gorusme_saati limit $sayfa, 15";
}
elseif($i=="4")
{
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g WHERE a.kisi_id=g.kisi_id AND DATEDIFF(NOW(),g.gorusme_tarihi)<=30 ORDER BY g.gorusme_tarihi desc,g.gorusme_saati limit $sayfa, 15";
}
elseif($i=="3")
{
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g WHERE a.kisi_id=g.kisi_id AND DATEDIFF(NOW(),g.gorusme_tarihi)<=7 ORDER BY g.gorusme_tarihi desc,g.gorusme_saati limit $sayfa, 15";
}
elseif($i=="2")
{
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g WHERE a.kisi_id=g.kisi_id AND DATEDIFF(NOW(),g.gorusme_tarihi)<=3 ORDER BY g.gorusme_tarihi desc,g.gorusme_saati limit $sayfa, 15";
}
elseif($i=="1")
{
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g WHERE a.kisi_id=g.kisi_id AND DATEDIFF(NOW(),g.gorusme_tarihi)<=1 ORDER BY g.gorusme_tarihi desc,g.gorusme_saati limit $sayfa, 15";
}
}
if(isset ($_POST['kisi_id']))
{
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g WHERE a.kisi_id=g.kisi_id AND a.kisi_id='$kisi_id' ORDER BY g.gorusme_tarihi desc,g.gorusme_saati limit $sayfa, 15";
}
$resultset=mysql_query($sql,$db);
// $satir=mysql_fetch_array($resultset);
}
}
else{
$konuda=$_POST['konuda'];
$sql="SELECT a.ad,a.soyad,a.telefon,a.adres,g.konu,g.gorusme_durumu,g.gorusme_tarihi,g.gorusme_saati,a.kisi_id FROM ajanda a,gorusme g WHERE a.kisi_id=g.kisi_id and g.konu REGEXP '$konuda' ORDER BY g.gorusme_tarihi desc,g.gorusme_saati";
$resultset=mysql_query($sql,$db);
}

Ekli Dosyalar

+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • 1
    teacher0610 adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    54 cevap - 29 soru
    Select kullanımın yanlış. Hepsinin valuesi 1 görünüyor.
    Optionlarda name olmaz. Sadece value olur.

    <select name="tarih">
    <option value="0">Seçiniz</option>
    <option value="1">1 Gün</option
    .....
    </select>

    gibi. İkinci olarakta gelen değerleri php dosyanda alıp if ile kontrol ederek selected özelliği vereceksin. şöyle:
    $tarih = $_POST["tarih"];
    
    echo "<select name='tarih'>";
    if ($tarih==1) {echo "<option value='1' selected='selected'>1 Gün</option>";} else {echo "<option value='1'>1 Gün</option>";}
    echo "</select>";
    

Cevaplar

  • 1
    necmettin adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    80 cevap - 0 soru
    teacher0610'un söylediklerine birkaç ekim olsun:

    1. Formdan gelen veriyi ASLA doğrudan sorguya gönderme.
    ($x=$_POST['x']; mysql_query('...$x...'); yapma hiçbir zaman)

    2. Formdan gelen verinin türünün beklediğin türde olduğunu asla varsayma.
    $sayfa = ($_GET['sayfa'] -1) *15; //burada $_GET['sayfa'] '-10' olursa $sayfa -165 olur.