Arkadaşlar bir dizi sitesi scriptim var ve bildiğiniz gibi dizileri yükleyenler 7-8 part şeklinde yüklüyorlar
Ben mdb veritabanı kullanıyorum ve veritabanımda diziler tablosunun icinde "kod" diye bir satır var. Dizileri ekleme yaparken bu satıra
part1embedkodu<br>
part2embedkodu<br>
Şeklinde ne kadar part varsa bu sekilde ekleyip tüm partları alt alta bu şekilde sıralatıyordum. Fakat şimdi güncel dizi sitelerindeki gibi part lı sekmeler yapmak istiyorum. Bunun icin tabloda kod1 kod2 diye 10 a kadar bu sekilde sütunlar açtım fakat asp bilgim henüz yeteri kadar iyi degil. Dizilerin gösterileceği sayfada eğer kod1 doluysa yani part2 varsa part1 part2 seklinde linkler olusturulsun ve acılan sayfada o diziye ait o part gösterilsin istiyorum acaba bunu nasıl yapabilirim
Şimdiden teşekkürler
Partlı Videolar İçin Part Oluşturma
11
●1.210
- 11-11-2008, 11:18:48Kimlik doğrulama veya yönetimden onay bekliyor.istediğini yapabilmen için en basit kod
<%
for i = 1 to 10
if objRs("Kod"& i) <> "" Then
Response.Write"<a href=""link.asp?part="& i &""">Part "& i &"</a>"
end if
next
%>
Bu kodları baz alarak geliştirebilirsin.
Geliştiremezsen, karşılaştığın sorunları buraya yaz yardımcı oluruz - 11-11-2008, 17:52:18anladığım kadarıyla tablı menu istiyorsun bunun için css ve js gerekiyor ben senin için 10 sekmeli menu oluşturdum ve içine gerekli asp kodlarını gomdum biraz uzun ama tam istediğin gibi
css kodlarındaki giflerin olmasına gerek yok veri tabanından embed bilgilerini çektiği zaman aşağıdaki gibi gözükecek


<style type="text/css"> <!-- .shadetabs{ padding: 3px 0; margin-left: 0; margin-top: 1px; margin-bottom: 0; font: bold 12px Verdana; list-style-type: none; text-align: left; /*set to left, center, or right to align the menu as desired*/ } .shadetabs li{ display: inline; margin: 0; } .shadetabs li a{ text-decoration: none; position: relative; z-index: 1; margin-right: 3px; border: 1px solid #778; color: #2d2b2b; background: white url('shade.gif') repeat-x top left;; padding-left:7px; padding-right:7px; padding-top:3px; padding-bottom:3px } .shadetabs li a:visited{ color: #2d2b2b; } .shadetabs li a:hover{ text-decoration: underline; color: #2d2b2b; } .shadetabs li a.selected{ /*selected main tab style */ position: relative; top: 1px; } .shadetabs li a.selected{ /*selected main tab style */ background-image: url('shadeactive.gif'); border-bottom-color: white } .shadetabs li a.selected:hover{ /*selected main tab style */ text-decoration: none; } .tabcontent{ display:none; } @media print { .tabcontent { display:block !important; } } /* ######### CSS for Inverted Modern Bricks II Tabs. Remove if not using ######### */ .modernbricksmenu2{ padding: 0; width: 362px; border-top: 5px solid #D25A0B; /*Brown color theme*/ background: transparent; voice-family: "\"}\""; voice-family: inherit; } .modernbricksmenu2 ul{ margin:0; margin-left: 10px; /*margin between first menu item and left browser edge*/ padding: 0; list-style: none; } .modernbricksmenu2 li{ display: inline; margin: 0 2px 0 0; padding: 0; text-transform:uppercase; } .modernbricksmenu2 a{ float: left; display: block; font: bold 11px Arial; color: white; text-decoration: none; margin: 0 1px 0 0; /*Margin between each menu item*/ padding: 5px 10px; background-color: black; /*Brown color theme*/ border-top: 1px solid white; } .modernbricksmenu2 a:hover{ background-color: #D25A0B; /*Brown color theme*/ color: white; } .modernbricksmenu2 a.selected{ /*currently selected tab*/ background-color: #D25A0B; /*Brown color theme*/ color: white; border-color: #D25A0B; /*Brown color theme*/ } .tabcontent{ display:none; } @media print { .tabcontent { display:block !important; } } /* ######### CSS for Indented CSS Tabs. Remove if not using ######### */ .indentmenu{ font: bold 13px Arial; width: 100%; /*leave this value as is in most cases*/ } .indentmenu ul{ margin: 0; padding: 0; float: left; /* width: 80%; width of menu*/ border-top: 1px solid navy; /*navy border*/ background: black url('indentbg.gif') repeat-x center; } .indentmenu ul li{ display: inline; } .indentmenu ul li a{ float: left; color: white; /*text color*/ padding: 5px 11px; text-decoration: none; border-right: 1px solid navy; /*navy divider between menu items*/ } .indentmenu ul li a:visited{ color: white; } .indentmenu ul li a.selected{ color: white !important; padding-top: 6px; /*shift text down 1px*/ padding-bottom: 4px; background: black url('indentbg2.gif') repeat-x center; } .tabcontentstyle{ /*style of tab content oontainer*/ border: 1px solid gray; width: 450px; margin-bottom: 1em; padding: 10px; } .tabcontent{ display:none; } @media print { .tabcontent { display:block !important; } } //--> </style> <script language="JavaScript" type="text/JavaScript"> <!-- function ddtabcontent(tabinterfaceid){ this.tabinterfaceid=tabinterfaceid //ID of Tab Menu main container this.tabs=document.getElementById(tabinterfaceid).getElementsByTagName("a") //Get all tab links within container this.enabletabpersistence=true this.hottabspositions=[] //Array to store position of tabs that have a "rel" attr defined, relative to all tab links, within container this.currentTabIndex=0 //Index of currently selected hot tab (tab with sub content) within hottabspositions[] array this.subcontentids=[] //Array to store ids of the sub contents ("rel" attr values) this.revcontentids=[] //Array to store ids of arbitrary contents to expand/contact as well ("rev" attr values) this.selectedClassTarget="link" //keyword to indicate which target element to assign "selected" CSS class ("linkparent" or "link") } ddtabcontent.getCookie=function(Name){ var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair if (document.cookie.match(re)) //if cookie found return document.cookie.match(re)[0].split("=")[1] //return its value return "" } ddtabcontent.setCookie=function(name, value){ document.cookie = name+"="+value+";path=/" //cookie value is domain wide (path=/) } ddtabcontent.prototype={ expandit:function(tabid_or_position){ //PUBLIC function to select a tab either by its ID or position(int) within its peers this.cancelautorun() //stop auto cycling of tabs (if running) var tabref="" try{ if (typeof tabid_or_position=="string" && document.getElementById(tabid_or_position).getAttribute("rel")) //if specified tab contains "rel" attr tabref=document.getElementById(tabid_or_position) else if (parseInt(tabid_or_position)!=NaN && this.tabs[tabid_or_position].getAttribute("rel")) //if specified tab contains "rel" attr tabref=this.tabs[tabid_or_position] } catch(err){alert("Invalid Tab ID or position entered!")} if (tabref!="") //if a valid tab is found based on function parameter this.expandtab(tabref) //expand this tab }, cycleit:function(dir, autorun){ //PUBLIC function to move foward or backwards through each hot tab (tabinstance.cycleit('foward/back') ) if (dir=="next"){ var currentTabIndex=(this.currentTabIndex<this.hottabspositions.length-1)? this.currentTabIndex+1 : 0 } else if (dir=="prev"){ var currentTabIndex=(this.currentTabIndex>0)? this.currentTabIndex-1 : this.hottabspositions.length-1 } if (typeof autorun=="undefined") //if cycleit() is being called by user, versus autorun() function this.cancelautorun() //stop auto cycling of tabs (if running) this.expandtab(this.tabs[this.hottabspositions[currentTabIndex]]) }, setpersist:function(bool){ //PUBLIC function to toggle persistence feature this.enabletabpersistence=bool }, setselectedClassTarget:function(objstr){ //PUBLIC function to set which target element to assign "selected" CSS class ("linkparent" or "link") this.selectedClassTarget=objstr || "link" }, getselectedClassTarget:function(tabref){ //Returns target element to assign "selected" CSS class to return (this.selectedClassTarget==("linkparent".toLowerCase()))? tabref.parentNode : tabref }, urlparamselect:function(tabinterfaceid){ var result=window.location.search.match(new RegExp(tabinterfaceid+"=(\\d+)", "i")) //check for "?tabinterfaceid=2" in URL return (result==null)? null : parseInt(RegExp.$1) //returns null or index, where index (int) is the selected tab's index }, expandtab:function(tabref){ var subcontentid=tabref.getAttribute("rel") //Get id of subcontent to expand //Get "rev" attr as a string of IDs in the format ",john,george,trey,etc," to easily search through var associatedrevids=(tabref.getAttribute("rev"))? ","+tabref.getAttribute("rev").replace(/\s+/, "")+"," : "" this.expandsubcontent(subcontentid) this.expandrevcontent(associatedrevids) for (var i=0; i<this.tabs.length; i++){ //Loop through all tabs, and assign only the selected tab the CSS class "selected" this.getselectedClassTarget(this.tabs[i]).className=(this.tabs[i].getAttribute("rel")==subcontentid)? "selected" : "" } if (this.enabletabpersistence) //if persistence enabled, save selected tab position(int) relative to its peers ddtabcontent.setCookie(this.tabinterfaceid, tabref.tabposition) this.setcurrenttabindex(tabref.tabposition) //remember position of selected tab within hottabspositions[] array }, expandsubcontent:function(subcontentid){ for (var i=0; i<this.subcontentids.length; i++){ var subcontent=document.getElementById(this.subcontentids[i]) //cache current subcontent obj (in for loop) subcontent.style.display=(subcontent.id==subcontentid)? "block" : "none" //"show" or hide sub content based on matching id attr value } }, expandrevcontent:function(associatedrevids){ var allrevids=this.revcontentids for (var i=0; i<allrevids.length; i++){ //Loop through rev attributes for all tabs in this tab interface //if any values stored within associatedrevids matches one within allrevids, expand that DIV, otherwise, contract it document.getElementById(allrevids[i]).style.display=(associatedrevids.indexOf(","+allrevids[i]+",")!=-1)? "block" : "none" } }, setcurrenttabindex:function(tabposition){ //store current position of tab (within hottabspositions[] array) for (var i=0; i<this.hottabspositions.length; i++){ if (tabposition==this.hottabspositions[i]){ this.currentTabIndex=i break } } }, autorun:function(){ //function to auto cycle through and select tabs based on a set interval this.cycleit('next', true) }, cancelautorun:function(){ if (typeof this.autoruntimer!="undefined") clearInterval(this.autoruntimer) }, init:function(automodeperiod){ var persistedtab=ddtabcontent.getCookie(this.tabinterfaceid) //get position of persisted tab (applicable if persistence is enabled) var selectedtab=-1 //Currently selected tab index (-1 meaning none) var selectedtabfromurl=this.urlparamselect(this.tabinterfaceid) //returns null or index from: tabcontent.htm?tabinterfaceid=index this.automodeperiod=automodeperiod || 0 for (var i=0; i<this.tabs.length; i++){ this.tabs[i].tabposition=i //remember position of tab relative to its peers if (this.tabs[i].getAttribute("rel")){ var tabinstance=this this.hottabspositions[this.hottabspositions.length]=i //store position of "hot" tab ("rel" attr defined) relative to its peers this.subcontentids[this.subcontentids.length]=this.tabs[i].getAttribute("rel") //store id of sub content ("rel" attr value) this.tabs[i].onclick=function(){ tabinstance.expandtab(this) tabinstance.cancelautorun() //stop auto cycling of tabs (if running) return false } if (this.tabs[i].getAttribute("rev")){ //if "rev" attr defined, store each value within "rev" as an array element this.revcontentids=this.revcontentids.concat(this.tabs[i].getAttribute("rev").split(/\s*,\s*/)) } if (selectedtabfromurl==i || this.enabletabpersistence && selectedtab==-1 && parseInt(persistedtab)==i || !this.enabletabpersistence && selectedtab==-1 && this.getselectedClassTarget(this.tabs[i]).className=="selected"){ selectedtab=i //Selected tab index, if found } } } //END for loop if (selectedtab!=-1) //if a valid default selected tab index is found this.expandtab(this.tabs[selectedtab]) //expand selected tab (either from URL parameter, persistent feature, or class="selected" class) else //if no valid default selected index found this.expandtab(this.tabs[this.hottabspositions[0]]) //Just select first tab that contains a "rel" attr if (parseInt(this.automodeperiod)>500 && this.hottabspositions.length>1){ this.autoruntimer=setInterval(function(){tabinstance.autorun()}, this.automodeperiod) } } //END int() function } //END Prototype assignment//--> </script> <ul id="countrytabs" class="shadetabs"> <li><a href="#" rel="country1" class="selected">part 1</a></li> <li><a href="#" rel="country2">part 2</a></li> <li><a href="#" rel="country3">part 3</a></li> <li><a href="#" rel="country4">part 4</a></li> <li><a href="#" rel="country5">part 5</a></li> <li><a href="#" rel="country6">part 6</a></li> <li><a href="#" rel="country7">part 7</a></li> <li><a href="#" rel="country8">part 8</a></li> <li><a href="#" rel="country9">part 9</a></li> <li><a href="#" rel="country10">part 10</a></li> </ul> <% set dizi=server.CreateObject("Adodb.Recordset") sql="select * from diziler where id="&id dizi.open sql,conn,1,3 %> <div style="border:1px solid gray; width:632px; margin-bottom: 1em; padding: 10px"> <div id="country1" class="tabcontent"> <%=dizi("kod1")%> </div> <div id="country2" class="tabcontent"> <%=dizi("kod2")%> </div> <div id="country3" class="tabcontent"> <%=dizi("kod3")%> </div> <div id="country4" class="tabcontent"> <%=dizi("kod4")%> </div> <div id="country5" class="tabcontent"> <%=dizi("kod5")%> </div> <div id="country6" class="tabcontent"> <%=dizi("kod6")%> </div> <div id="country7" class="tabcontent"> <%=dizi("kod7")%> </div> <div id="country8" class="tabcontent"> <%=dizi("kod8")%> </div> <div id="country9" class="tabcontent"> <%=dizi("kod9")%> </div> <div id="country10" class="tabcontent"> <%=dizi("kod10")%> </div> </div> <script type="text/javascript"> var countries=new ddtabcontent("countrytabs") countries.setpersist(true) countries.setselectedClassTarget("link") //"link" or "linkparent" countries.init() </script> - 11-11-2008, 18:33:20metals_torm o kadar uğraşmış ellerine sağlık. Benimde çorbada tuzum bulunsun dedim. metals_torm'un koduna küçük bir ekleme yaptım.
......... } //END Prototype assignment//--> </script> <% set dizi=server.CreateObject("Adodb.Recordset") sql="select * from diziler where id="&id dizi.open sql,conn,1,3 if Not dizi.eof then %> <ul id="countrytabs" class="shadetabs"> <% for i = 1 to 10 if dizi("kod"& i) <> "" Then %> <li><a href="#" rel="country<% =i %>" class="selected">part <% =i %></a></li> <% end if next %> </ul> <div style="border:1px solid gray; width:632px; margin-bottom: 1em; padding: 10px"> <% for i = 1 to 10 if dizi("kod"& i) <> "" Then %> <div id="country<% =i %>" class="tabcontent"> <%=dizi("kod"& i)%> </div> <% end if next %> </div> <% else Response.Write"Kayıt bulunamadı" end if dizi.close Set dizi = nothing %> ....... <script type="text/javascript"> var countries=new ddtabcontent("countrytabs") - 11-11-2008, 18:50:32Arkadaşlar öncelikle herkese teşekkürler. Dediğiniz gibi iframe yolunu denedim ve yaptımda zaten. dizileri isim acıklama tag ve hit bilgileri icin diziler tablosunu partlar içinde partlar adında bir tablo yaptım diziye ait partları dizinin id sine göre partlara yazdırıyorum orda sorun yok fakat sıfırdan yeni site yapsam bu sekilde yapardım benim. elimdeki db de 2000 tane ye yakın kayıt var bunlarin hepsini taşıdığım zaman id ler karışıyor falan o yüzden böyle yapmak istedim. kodları gece deneyeceğim aldığım sonucları buraya yazacağım herkese çok teşekkürler yardımlarınızdan dolayı
- 11-11-2008, 19:27:52Sevgili metals_torm dediğiniz kodları gömdük ve çok güzel bir şekilde çalıştı fakat şöyle ufak bir sorun var
10 tane sekme yapmıssınız fakat bendeki kod1 kod2 kod3 sütunlarının o diziye ait 5 tanesi dolu isterim ki 5 tanesi dolu oldugu icin 5 part gözüksün 8 tane doluysa 8 tane görünsün. Verdiginiz kodda part10 a kadar sekme yapıyor fakat 5 den sonrası dolu degilse 5 ten sonraki part sekmelerinin içi boş gözüküyor. Bunu nasıl aşabiliriz acaba
css kodlarındaki giflerin olmasına gerek yok veri tabanından embed bilgilerini çektiği zaman aşağıdaki gibi gözükecek
