• 22-08-2010, 23:00:42
    #1
    Bir arama modülüne şehir filitresi eklemek istiyorum.Filitreleme için arama kutusuna şehrin ismini yazıp aratmam yeterli oluyor.

    Bunun için bir açılır menüden seçilen değeri sayfada post etmeden seçilen değeri değişkene aktarmam gerek yani...

     <input name="s" type="text" id="s" value="<?php _e('Anahtar kelimesi Giriniz.' '.$sehir); ?>"
    
            <select name="sehir" style="width: 77px">
    				<option></option>
    				<option>sehir1</option>
    				<option>sehir2</option>
    				</select>
    
          $sehir = "sehir?"
    gibi bir kod yazıcam bunu nasıl yapabilirim.
  • 23-08-2010, 01:44:23
    #2
    Eğer doğru anladıysam AJAX kullanmanız gerekiyor. jQuery'nin AJAX fonksiyonunu öneririm, oldukça kullanışlı.
  • 23-08-2010, 02:41:48
    #3
            <select name="sehir" style="width: 77px"> 
                    <option></option> 
                    <option value="sehir1">sehir1</option> 
                    <option value="sehir2">sehir2</option> 
           </select>
    Şeklinde yapınca verilerin gönderildiği Adreste Post veye Get Metoduyla hangisiyse artık $_POST[sehir] Yaptıgınızda hangi şehir seçiliyse o yazar.
  • 23-08-2010, 04:18:05
    #4
    Erden35 adlı üyeden alıntı: mesajı görüntüle
            <select name="sehir" style="width: 77px"> 
                    <option></option> 
                    <option value="sehir1">sehir1</option> 
                    <option value="sehir2">sehir2</option> 
           </select>
    Şeklinde yapınca verilerin gönderildiği Adreste Post veye Get Metoduyla hangisiyse artık $_POST[sehir] Yaptıgınızda hangi şehir seçiliyse o yazar.
    Post olmadan yapmam gerekiyor.
  • 23-08-2010, 05:45:31
    #5
    PHP'de sayfa yüklendikten sonra aynı sayfada bir değişken belirlemen imkansız, frame ya da js ile başka bir sayfa çağırarak session'a atabilirsin işine yarayacaksa.
    Daha açık yazarsan yardımcı olabiliriz. Neden direkt formdan post etmek varken aynı sayfada bir php değişkenine atamaya çalışıyorsun?
  • 23-08-2010, 12:20:27
    #6
    forumxtr adlı üyeden alıntı: mesajı görüntüle
    PHP'de sayfa yüklendikten sonra aynı sayfada bir değişken belirlemen imkansız, frame ya da js ile başka bir sayfa çağırarak session'a atabilirsin işine yarayacaksa.
    Daha açık yazarsan yardımcı olabiliriz. Neden direkt formdan post etmek varken aynı sayfada bir php değişkenine atamaya çalışıyorsun?

    wordpressle çalışan bir sistemim var arama fonsiyonuna şehir filitreleme seçeneğini eklemem lazım şehir bir alan olarak tanımlı değil sistemde açıklama bölümüne yazılıyor.Yani şehir seçeneğini eklemem için arama yapılan text alanına çekip aratmam lazım.Neden arama yapılan sayfaya post edip orada değişkenleri birbirine bağlanmıyorsun diyebilirsiniz
    Onu çok denedim wordpress nasıl bir kodlama yapmış anlamıyorum.Post ettiği sayfa admin-ajax.php orada post ettiği satırı silsem bile arama yapıyor satır eklemyip $search.' '.$sehir=$search şeklinde tanımladım yine bir sonuç alamadım.Bu yüzden post olmadan değişken atamaya çalışıyorum.
  • 23-08-2010, 13:07:17
    #7
    O zaman search formuna şöyle bir şey yapabilirsiniz; bir javascript fonksiyonu oluşturun, bu fonksiyon arama tuşunu basıldığında (onSubmit) çalıştırılsın. Donksiyon içeriğinde de arama kutucuğunun değeri ile şehir opsiyonunun değerini birleştirip tekrar arama kutusunun değerine atasın.

    Kafadan yazıyorum, kabaca mantık şunun gibi;
    function ara() {
    	var q = getelementbyID('q').value;
    	var sehir = getelementbyID('sehir').value;
    	var aranacak = q+' '+sehir;
    	getelementbyID.value = aranacak;
    }
  • 23-08-2010, 14:14:36
    #8
    forumxtr adlı üyeden alıntı: mesajı görüntüle
    O zaman search formuna şöyle bir şey yapabilirsiniz; bir javascript fonksiyonu oluşturun, bu fonksiyon arama tuşunu basıldığında (onSubmit) çalıştırılsın. Donksiyon içeriğinde de arama kutucuğunun değeri ile şehir opsiyonunun değerini birleştirip tekrar arama kutusunun değerine atasın.

    Kafadan yazıyorum, kabaca mantık şunun gibi;
    function ara() {
    	var q = getelementbyID('q').value;
    	var sehir = getelementbyID('sehir').value;
    	var aranacak = q+' '+sehir;
    	getelementbyID.value = aranacak;
    }
    Kardeş dediğini anladım fakat javascript bilgim fazla yok bana örnek bir kod veya açıklayıcı bir link vermen mümkünmü? Seçtiğim şehri javascripte nasıl aktarıcam sonra nasıl php değişken yapıcam o kısımlarda biraz problem var.
  • 23-08-2010, 16:53:06
    #9
    Php değil javascript sorusu oldu o zaman bu, yanlış anlamadıysam şöyle halledilebilir:

    Sayfaya eklenecek js fonksiyonu;
    <script type="text/javascript">
    function ara() {
    	var q = document.getElementById('q').value;
    	var sehir = document.getElementById('sehir').value;
    	var aranacak = q+' '+sehir;
    	document.getElementById('q').value = aranacak;
    }
    </script>
    Formda yapılacak değişiklikler;
    form tagına ekle
    onsubmit="ara();"
    şehir selectbox'ına ekle
     id="sehir"
    arama kutusu input'una ekle
    id="q"
    Bunları yaptığında form gönderildiği zaman arama kutucuğuna "anahtar kelimeler (seçilen şehir)" yazılıp aratılmış gibi olacak. Parantezler olmadan tabii.

    Örnek olarak tam kod şöyle;
    <script type="text/javascript">
    function ara() {
    	var q = document.getElementById('q').value;
    	var sehir = document.getElementById('sehir').value;
    	var aranacak = q+' '+sehir;
    	document.getElementById('q').value = aranacak;
    }
    </script>
    
    <form action="a.php" method="post" onsubmit="ara();">
    	<input type="text" id="q" name="search">
    	<select name="sehir" id="sehir">
    		<option value="1">sehir1</option>
    		<option value="2">sehir2</option>
    		<option value="3">sehir3</option>
    	</select>
    	<input type="submit" value="Gönder">
    </form>