Zoque.Forum
»
birbirine bağlı form elemanları?
|
| Sunucu Tabanlı Programlama (Server Side) Perl/CGI, PHP, ASP, JSP, .NET ve diğer programlama dilleri hakkındaki sorularınıza, paylaşmak istediklerinize ve örnek kodlara bu alanda yer verebilirsiniz. |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Üyelik Tarihi: 09.11.2006
Yer: izmir
Mesaj: 192
|
birbirine bağlı form elemanları?
selam arkadaslar. benim yapmak istediğim bir form var. formda iki selection box var. bir tanesinden secilen degerlere göre digerine otomatik belli degerler gelecek. internette böyle uygulamalar cok. bende de var birşeyler hemde istedigim tarzda calısıyor. ama benim sorunum şu. ben birinci selection box'a mysqlden verileri alacagım. onda secim yapılır yapılmazsa ikinci selection box için yine MySQL de bir sorgu yaratılacak ve ondan dönen sonuclar yazılacak. benim elimdeki örnekler js uzantılı olup hepsinde degerler elle veriliyor. bunu otomatikleştirmem lazım yani. bu işi PHP ile yapıyorum bu arada. yardımcı olacaklara şimdiden teşekkürler
|
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 22.04.2003
Yer: İstanbul
Yaş: 26
Mesaj: 112
|
Re: birbirine bağlı form elemanları?
Anladığım kadarı ile ajax a, en azından XMLHTTP ye ihtiyacın var. Yani elimizde iki tane selectbox var, birisinin verileri sayfa ile beraber geliyor. İstiyoruz ki birincisinde birşey seçildiğinde ikincisi de otomatik olarak birinci seçeneğe bağlı bazı sonuçlar getirsin ve tüm olası sonuçlar için sayfanın içine sabit bir şekilde yazmış olmayayım.
Bence iki çözümü var: Diyelim ki ilk selectbox şehirleri ikincisi de şehire bağlı ilçeleri gösterecek olsun. Çalıştığımız sayfa sehir.PHP olsun. 1. çözüm : 1. selectbox'a tıklandığında sehir.PHP?sehirID=<seçilen şehir IDsi> gibi sayfaya gider otomatik olarak, sayfa tekrar açılırken ikinci selectbox'ı queryden şehir ID yi alarak doldurabilirsin ve sadece o şehir için veri almış olursun. Ama bunu önermiyorum, çünkü her şehir değiştiğinde sayfa yeniden yüklenecek. 2. çözüm : XMLHTTP kullanmak. Birinci selectbox seçildiğinde javascriptle -mesela- ilcegetir.PHP ye bir istekte bulunursun. ilcegetir sayfası da sadece o ile ait ilçeleri getirir, javascriptle değerleri alarak ikinci selectbox ı doldurabilirsin. Bilinen tanımı ile bu kısaca ajax olmuş oluyor. Sayfa yenilenmeye ihtiyaç duymuyor. Bence sen de böyle yapabilirsin. İnternetten ajax için birçok örnek bulabilirsin ama gene de takılırsan kod düzeyinde yardımcı olmaya çalışırım.
__________________
http://www.kimindir.com - Alan adı sorgulama (whois) servisi... [v0.4 beta] |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 22.04.2003
Yer: İstanbul
Yaş: 26
Mesaj: 112
|
Re: birbirine bağlı form elemanları?
Kişisel olarak XMLHTTP yi XML yerine JSON ile kullanıyorum. Hem JavaScript tarafında XML ile uğraşmak zorunda kalmıyorum hem de server tarafında JSON datası üretmek daha kolay geliyor.
Veritabanında bir sehir ve bir ilce tablomuz olduğunu varsayıyorum. Sehir.PHP dosyamız şu şekilde olsun : PHP Code:
PHP Code:
Bu örneği benim sitenin altına koydum, ordan da test edebilirsin: http://delizeka.com/files/sehir.php Kolay gelsin.
__________________
http://www.kimindir.com - Alan adı sorgulama (whois) servisi... [v0.4 beta] |
|
|
|
|
|
#6 (permalink) |
|
Üyelik Tarihi: 09.11.2006
Yer: izmir
Mesaj: 192
|
Re: birbirine bağlı form elemanları?
hocam örnegini inceledim. birincisi şu. ben kendi veritabanıma göre uyarladım bunu fakat şöyle bir şey olustu. İlk gelen il verilerinden birincisini seçtiğim zaman yan tarafta güzel bir şekilde ilcesi geldi. fakat ikinci veriyi seçtigim zaman ona ait olan ilçeler olmasına ragmen veri gelmedi ve şöyle bir hata verdi
Line : 31 Char : 17 Error : Sonlandırılmamış dize sabiti Code : 0 URL : http://localhost/ilceler.php bu neden kaynaklanır yardımcı olursan sevinirim. İkinci sorunum ise bu konuyla ilgili. Bunu tekrar eden dizi halinde de calıstıramadım. Yani ben bir for döngüsü ile bunu 10 adete veya daha fazla adete cıkarmak istiyorum. Ama beceremedim. Yani alt alta sıralıyor tabikide form elemanlarını ama secince sonuc alamıyorum. Seni çok yoruyorum hocam özür dilerim ayrıca bunun için. Bir baska bir sorun daha olacaktı onu farklı bir baslıkta yazmak istemedim. Şimdi elimde 12 adet ayları temsil eden text boxlar var. ocak ayına girilen yazı veya sayının otomatik olarak diger ayların text boxınada girilmesini istiyorum. Buda yine dizi halinde olacak. Yani alt alta bir for döngüsü ile 10 dan fazla olcak mesela. normali becerdim ama çokluyu yapamadım. bunada bakabilirsen cok sevinirim. Herkese iyi çalışmalar |
|
|
|
|
|
#7 (permalink) |
|
Üyelik Tarihi: 09.11.2006
Yer: izmir
Mesaj: 192
|
Re: birbirine bağlı form elemanları?
nette buldugum bir sistemi kendime göre uyarladım. aşağıda kodları yazılı oldugu sekilde tek satırda güzel çalışıyor. fakat yine sorunum aynı. Yani bunu birden fazla satırda işleyemiyorum. Yani ben istiyorumki bir for döngüsü ile bunları 10 satırda kullanabileyim. Yani birinci satırda 1. selecti seçtiğimde hemen yanındakine veriler gelsin. ikinci satırda aynı işlemi yapacak vs vs. koda bakarak yardımcı olabilirseniz çok sevinirim. iyi çalışmalar.
HTML Code:
<HTML> <head> <title>Chained Selects Step-by-step: Implement the list group (Demo)</title> <link rel=stylesheet href="../cs.CSS" type="text/CSS"> <script language="JavaScript" src="fonksiyon/chainedselects.js"></script> <? include("baglanti.PHP"); $ilsor=mysql_query("select * from il order by id asc"); $ilsay=mysql_num_rows($ilsor); for($r=0;$r<$ilsay;$r++){ $ilid[]=mysql_result($ilsor,$r,id); $ilad[]=mysql_result($ilsor,$r,ad); } $bolum1="<script language=\"JavaScript\"> // define a list group addListGroup(\"iller\", \"makers\");"; for($i=0;$i<$ilsay;$i++){ $ilcesor=mysql_query("select * from ilce where il_id='$ilid[$i]'"); $bolum2=$bolum2."addList(\"makers\", \"".$ilad[$i]."\", \"".$ilad[$i]."\", \"$i-list\");"; while($ilcelis=mysql_fetch_array($ilcesor)){ $bolum4=$bolum4."addList(\"$i-list\", \"$ilcelis[ad]\", \"$ilcelis[ad]\", \"$ilcelis[id]\");"; } } $bolum3="</script>"; echo $bolum1.$bolum2.$bolum4.$bolum3; ?> </head> <body onLoad="initListGroup('iller', document.forms[0].maker, document.forms[0].type);"> <table align="center" cellpadding="0" cellspacing="0" border="0" width="90%"><tr><td> <p align="center" class="title"></p> <center> <form action="demo.PHP"> <select name="maker" id="maker" style="width:120px"> </select> <select name="type" id="type" style="width:120px"> </select> <label> <input type="submit" name="Submit" value="Submit"> </label> </form> </center> <p class="para"> </p> <p align="center"><? echo "$maker"." "."$type"; ?></p> <p> </p> </td></tr></table> </body> </HTML> Mesaj magos tarafından 22.01.2007 (12:18) yeniden düzenlendi.. |
|
|
|
|
|
#8 (permalink) |
|
Üyelik Tarihi: 01.11.2000
Yer: İstanbul
Yaş: 26
Mesaj: 713
|
Re: birbirine bağlı form elemanları?
form ve başka ihtiyaçlar için PEAR kullanmayı düşündün mü?
Pear'in form kütüphanesi "QuickForm" http://pear.php.net
__________________
life is better without braces |
|
|
|
Zoque'a hoşgeldiniz!