İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

listmenu ile ilgili

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
merhaba arkadaşlar,
2 tane listmenüm var.

1. ye göre 2.deki listmenü mysql den veri cekecek.

Örnegin

1. listmenüde

Örnegin avrupa cekildiginde 2.de avrupadaki ülkeler cıkacak.

1. de asya seçilirse 2. de asyadaki ülkeler cıkacak.

Mysql kısmını biliyorum ama listmenüleri nasıl sayfa yeniletmeden yapacagımı bulamadım?
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
HTML:
<script language="Javascript">
function populate() {
var xmlHttpReq = false;
var self = this;

// yaratilacak drop down menunun id'si ile degistirin.
var obj = document.getElementById("ulkeler");

var c1 = obj.options.length-1;
var k;

       // dropdown'i bosalt
	for (k=c1; k>=0; k--) {
	obj.remove(k);
	}	
	
	if (window.XMLHttpRequest) {
	self.xmlHttpReq = new XMLHttpRequest();
	}
   	
	else if (window.ActiveXObject) {
	self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}

       // araci olacak php dosyasi
	self.xmlHttpReq.open('POST', 'araci.php', true);
	self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	self.xmlHttpReq.onreadystatechange = function() {

		if (self.xmlHttpReq.readyState == 4) {
		var options = self.xmlHttpReq.responseText.split(';');
		var total = options.length - 1;
		var i;
		
			for (i=0; i <= total; i++) {
			
				if (options[i] != "") {
				var data = options[i].split('|');
				var opt = document.createElement("option");
				obj.options.add(opt);
				opt.text = data[1];
				opt.value = data[0];
				}
				
			}
			
		
		}

	}

	var form = document.forms['zimbirti'];
	var id = form.kita.value;
	self.xmlHttpReq.send('kita='+escape(kita));
	
}

</script>


FORM

HTML:
<form name="zimbirti">
<select id="kita" onChange="populate()">
<option>Avrupa</option>
<option>Asya</option>
</select>

<select id="ulkeler">
<option>Kita secin</option>
</select>

Aracı php dosyasını kendin oluşturman gerekiyor. Benim örneğimde aracı php dosyası response olarak şu şekilde vermeli listeyi.

0|Irlanda;1|Fransa;2|Almanya

=>

<option value="0">Irlanda</option>
<option value="1">Fransa</option>

ya dönüştürür.

Ben bu fonksiyonu select menude opsiyon ve textin ayrı olması gereken birsey icin yazmistim, kendi istegine gore degistirebilirsin.

Degiskenleri, synthax i kontrol ettikten sonra calismasi gerekiyor.
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
BordoMavi nefusanın yaptıgına baktım bu veritabanını çok yorar nedeni ise tüm kayıtları listeleme yapması.
Örnegin 1000 kayıt olsa çok zorlar.

angelo örnek bir araci.php dosyası yaparmısın acaba?

ben araci.php dosyasını şöyle yaptım ama çalışmadı.
PHP:
0|Irlanda;
1|Fransa;
2|Almanya;

angelo seninkini tam olarak anlamadım. Seninkide acaba mysql yorarmı?
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Her bir drop down seçimi, 1 query yapar. MySQL query'ni yapacaksın, ülke kıta ilişkisini nasıl yapıyorsan, sonra while döngüsünde ucuca ekleyeceksin.

Nerede, nasıl bir hata veriyor? Sayfa online ise adresini post eder misin
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
Angelo localde deniyorum öncelikle hata yapmamak için html olarak giriş yaptım.

Alttaki araci.php kendi elimle yazdım.
PHP:
0|Irlanda;
1|Fransa;
2|Almanya;

Bana örnek html olarak örnek araci.php dosyası yazarsan sevinirim. :(

Teşekkurler ilgilendigin için
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
araci.php dosyasını öyle yaptım derken ne yaptığını anlamadım. Local'de web server'ın mı var?

0|almanya;1|irlanda;2|fransa

Bu şekilde olmalı. Senin yaptığın sekille de calismasi lazim gerci, en kotu ihtimalle dropdown'ın değişmesi lazim.
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
Selam,
kendi bilgisayarımda serverim var wamp kurdum.
Onunla denedim. ama olmadı.

2. menu degişiyor ama boş cıkıyor.

Ekte yaptıgım dosyaları attım.
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
teşekkurler oldu.
Şimdi bir sorum daha olacaktı.
araci.php dosyasına gönderilen degişken nedir bir türlü bulamadım.
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
dropdown 1 den gelen degişkeni araci.php de nasıl ögreniriz?

dropdown 1 yerine 2 tane radio buton koysak olurmu nasıl yapılır?
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
var form = document.forms['zimbirti'];
var id = form.kita.value;
self.xmlHttpReq.send('kita='+escape(kita));

Anlamı "zimbirti" isimli form'dan "kita" isimli elemani, POST ile kita=deger seklinde yolla.
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
var form = document.forms['zimbirti'];
var id = form.kita.value;
self.xmlHttpReq.send('kita='+escape(kita));

Anlamı "zimbirti" isimli form'dan "kita" isimli elemani, POST ile kita=deger seklinde yolla.

javascript özürlüsüyüm sanırım.
dedigini nasıl yapacagını anlamadım.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst