1. sayfa
Dostum burada yaptığın atamalarda bir hata olabilir içerik boş ise demekki ("belediyekod") sahasından veri alamıyorsun.Field ismini kontrol et yada ELEMENT ,NODE olayına bağlı sanırım XML Doğru noddan gelen veriyi listeleterek saptamaya çalış. Değişken değerlerine bakmadan böyle bir kodu süzmek zor ! ![]() |
+ <BELEDIYE> <belediyekod>19</belediyekod> <belediyead>ÇATALAN</belediyead> </BELEDIYE> + <BELEDIYE> <belediyekod>20</belediyekod> <belediyead>SALBAŞ</belediyead> </BELEDIYE> - <BELEDIYE> <belediyekod>21</belediyekod> <belediyead>KARATAŞ</belediyead> </BELEDIYE> - <BELEDIYE> <belediyekod>22</belediyekod> <belediyead>BAHÇE</belediyead> </BELEDIYE> - <BELEDIYE> xml verisi bu tarzda asp den geliyor bunu gordum (sorguyu manuel girerek) sorun html icindeki kodda ama neresinde ?! *************** dsoBELEDIYELER.SRC="xmlQuery.asp?strQuery=" + strQuery objNodeListad = dsoBELEDIYELER.getElementsByTagName("belediyead"); objNodeListkod = dsoBELEDIYELER.getElementsByTagName("belediyekod"); for (var i=0; i < objNodeListad.length; i++) { form1.belediyeler.options=new Option(objNodeListad.item(i).text,objNodeListkod.item(i).text); } ***************************** BU kisimda bir yerde bir hata olmalı cunki dsoBELEDIYELER.SRC kısmına object geliyor. |
mail adresin varsa sana komple notları yollarım |
Dostum bu kısımdan hata oluşması sadece html içindeki koda bağlı olmayabilir sen Asp dosyasından Sorgu oluşturup daha sonra tekrar Javascript ile Formda option oluşturmuşsun yani ; Asp sayfası ile sorguladıktan sonra XML verisinin sadece istediğin sorgu elementlerini taşıdığını nerden biliyorsun ? bence dsoBELEDIYELER objesinin sadece oluşması sorgunun doğru olduğu anlamına gelmez. xmlQuery.asp?strQuery=" + strQuery Bu sorgunun doğruluğundan emin olup daha sonra XML objesini incele.Olmassa kodu mail adresime gönder(yada sakıncası yoksa buraya pastele) vakit bulursam bakayım.Ama en erken yarın cevap verebilirim. |
Sana zipli olarak dokumanları yolluyorum cunki icinde access veri tabanıda var ilgin icin sagol. |
Sorun degil dostum bakmam ve ilgilemem yeterli,dayanışma en buyuk guctur ,+) |
Arkadaşım Gönderdiğin kodda radikal değişikler yaptım !! Maalesef bu arala biraz işlerimin sıkışık olmasından dolayı fazla ilgilenemedim ama anlayışına sığınıyorum ! ![]() Verdiğin koddaki XML activitesini iptal edip tekrar kodu elden geçirdim . Aynen Yapıştırıyorum... Gerekli unsurlar.. (NOT kodda bazı ufak hatalar olabilir ama sorun olacağını sanmıyorum.) iller.asp db/iller.mdb İller.asp -> <% @ Language="VBScript" %> <% Response.Buffer = True %> <HTML> <HEAD> <title>XML Data Island</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> <meta content="Turgut HASPOLAT" name="author"> <style type="text/css"> TD { font-size:9pt; font-family:Tahoma; color : #615C5C; { </style> </HEAD> <body> <table style="BORDER-RIGHT: darkgray 1px solid; BORDER-TOP: darkgray 1px solid; BORDER-LEFT: darkgray 1px solid; BORDER-BOTTOM: darkgray 1px solid" cellSpacing="5" cellPadding="5" width="400"> <tr> <td><b><FONT face="Arial">"XML Data Island Makale" Örnek Kodlaması</FONT></b></td> </tr> </table> <form name="form1"> <table style="BORDER-RIGHT: darkgray 1px solid; BORDER-TOP: darkgray 1px solid; BORDER-LEFT: darkgray 1px solid; BORDER-BOTTOM: darkgray 1px solid" cellSpacing="5" cellPadding="5" width="400" bgColor="gainsboro"> <tr> <td width="80"><b>İl Adı Seçin :<b></b></b></td> <!-- İller combobox'ı veritabanından dinamik olarak doldurabilirsiniz--> <td><select onchange="<% belediyeleregit(request("form1.iller.value")) %>" name="iller"> <option value="01">ADANA</option> <option value="07">ANTALYA</option> <option value="10">BALIKESİR</option> <option value="16">BURSA</option> <option value="17">ÇANAKKALE</option> <option value="25">ERZURUM</option> <option value="26">ESKİŞEHİR</option> <option value="34">İSTANBUL</option> <option value="35">İZMİR</option> </select> </td> </tr> <tr> <td width="80"><b>Belediyesi : </b> <% strQuery = Request.QueryString("STRQuery") if strquery <> "" then set conn = Server.CreateObject("ADODB.Connection") set rs = Server.CreateObject("ADODB.Recordset") strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("db/iller.mdb") conn.open strConn Strsql = "Select * from il_t_belediye where ilkod=" + strquery Set RS=conn.execute(strSQL) %> </td> <td> <select name=belediyeler> <% While Not RS.EOF %> <option value="<%=RS("belediyead")%>"> </option> <% RS.MoveNext Wend%> </select> <% Else %> <select name=belediyeler> <option value="Kayıt Oluşturulamadı"></option> </select> <% end if %> </td> </tr> </table> </form> </body> </HTML> <% Function Belediyeleregit (ID) if ID <> "" then response.redirect "/xml/iller.asp?strQuery="+ID end if End Function %> Burada XML olayını devreden çıkardım sadece access ten aldım verileri isteğine göre modifiye edersin yada umarım işine yarar!. Eğer olmaz diyorsan boş vakit el verdiğince bakarız :) ![]() |
database indeki veri alanlarıyla programdaki veri alanların adlarının eşleşip eşleşmediğini bir kontrol etsen diyorum. |
Sagolda dostum onlar tamam sorun yok ,eger ilgileniyorsan konu ile sana tum dokumanları yollayabilirim. |
!! Hoca ne oldu Denedin mi yazdığım yukarıdaki kodu ? Yarı yarıya kısalttım olayı ödev felan deilse hazırladığım şekilde kullanmanı öneririm . :) |
Çok sagol dostum bu hafta bir pc ye xp, linux ve programları ile ayarlarını kurmakla mesguldumde vaktim anca oldu hemen baktım.Sagol zaman ayırdıgın icin ama ben xml ile yapmak istiyordum ya ,yani amacım xml kullanmak cunki bu yontemi baska yerlerdede kullanmak istiyorum.Sagol yinede,bir sorunun olursa yardımcı olurum tekrar sagolasın. |
Can sağlığı olsun Sende Sağol ![]() |
1. sayfa
<title>XML Data Island</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<meta content="Turgut HASPOLAT" name="author">
<style type="text/css">
TD
{
font-size:9pt;
font-family:Tahoma;
color : #615C5C;
{
</style>
</HEAD>
<body>
<XML id="dsoBELEDIYELER" ></XML>
<script language="Javascript">
function populateCombo(par) {
var currNode;
dsoBELEDIYELER.async = false;
strQuery="Select belediyekod, belediyead from il_t_belediye where ilkod=" + par
dsoBELEDIYELER.SRC="xmlQuery.asp?strQuery=" + strQuery
objNodeListad = dsoBELEDIYELER.getElementsByTagName("belediyead");
objNodeListkod = dsoBELEDIYELER.getElementsByTagName("belediyekod");
for (var i=0; i <objNodeListad.length; i++) {
form1.belediyeler.options=new Option(objNodeListad.item(i).text,objNodeListkod.item(i).text);
}
while ( objNodeListad.length < form1.belediyeler.options.length){
form1.belediyeler.options[(form1.belediyeler.options.length - 1)] = null;
}
}
</script>
<table style="BORDER-RIGHT: darkgray 1px solid; BORDER-TOP: darkgray 1px solid; BORDER-LEFT: darkgray 1px solid; BORDER-BOTTOM: darkgray 1px solid" cellSpacing="5" cellPadding="5" width="400">
<tr>
<td><b><FONT face="Arial">"XML Data Island Makale" Örnek Kodlaması</FONT></b></td>
</tr>
</table>
<form name="form1">
<table style="BORDER-RIGHT: darkgray 1px solid; BORDER-TOP: darkgray 1px solid; BORDER-LEFT: darkgray 1px solid; BORDER-BOTTOM: darkgray 1px solid" cellSpacing="5" cellPadding="5" width="400" bgColor="gainsboro">
<tr>
<td width="80"><b>İl Adı Seçin :<b></b></b></td>
<!-- İller combobox'ı veritabanından dinamik olarak doldurabilirsiniz-->
<td><select onchange="populateCombo(form1.iller.value)" name="iller">
<option value="01">ADANA</option>
<option value="07">ANTALYA</option>
<option value="10">BALIKESİR</option>
<option value="16">BURSA</option>
<option value="17">ÇANAKKALE</option>
<option value="25">ERZURUM</option>
<option value="26">ESKİŞEHİR</option>
<option value="34">İSTANBUL</option>
<option value="35">İZMİR</option>
</select>
</td>
</tr>
<tr>
<td width="80"><b>Belediyesi : </b>
</td>
<td>
<select name="belediyeler">
<option value="" selected>
</option>
</select>
</td>
</tr>
</table>
</form>
<table cellSpacing="2" cellPadding="2" width="400" style="BORDER-RIGHT:darkgray 1px solid; BORDER-TOP:darkgray 1px solid; BORDER-LEFT:darkgray 1px solid; BORDER-BOTTOM:darkgray 1px solid" ID="Table1">
<tr>
<td><I><FONT face="Times New Roman" size="2">Dosyalar :<b>db/iller.mdb, iller.htm, xmlquery.asp</b><br>
Örnek kod Access veritabanı ile hazırlanmıştır. Bu örnekte veritabanı yolu <b>Localhost/db</b>
olarak tanımlanmıştır.<BR>
<STRONG>iller.htm </STRONG>sayfası dropdown menuden seçtiğiniz ille göre o ile
bağlı belediye adları Belediye dropdown menude oluşacaktır.<BR>
<STRONG>xmlquery.asp </STRONG>seçim yaptığınız ilin parametresini alarak
veritabanından o ile ait belediyeleri sorgular ve sonucu xml formatta
oluşturur.<BR>
<BR>
Kodun kullanılması serbestir.<BR>
<BR>
Turgut HASPOLAT<BR>
<A href="mailto:turguthaspolat@">turguthaspolat@</A></FONT></I></td>
</tr>
</table>
</body>
Yukardaki kodda access veri tabanına asp ile verileri gonderen (xmlQuery.asp) ve alan sonucu xml olarak html sayfasına gonderip ikinci combo ya yazdıran bir dhtml ama sorun şuki xml verisi olusmasına ragmen "objNodeListad" ve "objNodeListkod" uzunlugu 0 (sıfır, (olusmuyor yani) geliyor? acaba neden ? ben bir neden bulamadım oneriniz varmı ?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.