• 11-11-2008, 04:08:53
    #1
    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
  • 11-11-2008, 09:07:09
    #2
    Yardımlarınızı bekliyorum arkadaslar
  • 11-11-2008, 11:18:48
    #3
    Kimlik 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, 13:19:02
    #4
    bence partlar için ayrı bir yer yap

    örn:

    Part tablosu
    - id
    -- kısım
    ---diziid
    ----url

    ve iframe sayesinde
    oynat.asp yap id leri oraya gönder
    ve erolife ın gösterdiği gibi id leri oraya gönder
  • 11-11-2008, 17:52:18
    #5
    anladığı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:20
    #6
    metals_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:41:02
    #7
    sizinkileri destekliyorum desteklemiyorum değil ama bir kere de butun partları sayfada okutmak sayfayı yukletir onun icin iframe eklemen taraftarıyım bende kodları var aslında biraz işim var halledeyim paylaşırım.
  • 11-11-2008, 18:50:32
    #8
    Arkadaş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:52
    #9
    Sevgili 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