• 03-04-2010, 17:51:35
    #1
    Merhaba arkadaşlar.

    sitemin üst kısmına aşağıdaki gibi bir menü yapmak istiyorum.

    Başlık 1 || Başlık 2 || Başlık 3 || Başlık 4 ||


    bu başlıklar veri tabanındaki (menu_kategori) tablosundan çekiliyor.

    başlıklar üzerine gelindiğinde açılır menüde (menu_icerik) tablosundan çekilmesini istiyorum.

    anlayamadığım olay ise şu.

    Başlık 1 'in altına menu 1'i, Başlık 2'nin altınada menu 2'yi eklemek istiyorum ama mantığını anlayamadığım için çıktı alamıyorum.

    yapmak istediğim menünün html kodu bu...

    <style>
    .part_3{
    	position: absolute;
    	top: 147px;
    	left: 0px;
    	height: 25px;
    }
    .navigation{
    	height: 27px;
    	overflow-y: hidden;
    	margin: 55px;
    	padding: 0px 0px 0px 20px;
    }
    .navigation li {
    	float: left;
    	height: 20px;
    	list-style: none;
    	background: url(../images/top_nav_sep.png) no-repeat left 12px;
    }
    .navigation a{
    	height: 27px;
    	font: 700 11px/27px Tahoma;
    	color: #000000;
    	padding: 0px 10px 0px 9px;
    }
    .navigation a:hover{
    	text-decoration: underline;
    }
    </style>
    
    <div class="part_3">
    	<ul class="navigation">
    	<li><a id="menu1" href="#" target="_self">Başlık 1</a></li>
    	<li><a id="menu2" href="#" target="_self">Başlık 2</a></li>
    	</ul>
    </div>
    
    
    <script src="js/transmenu.js" type="text/javascript"></script>
    
    <script language="javascript" type="text/javascript">
    if (TransMenu.isSupported())
    {
    var ms = new TransMenuSet(TransMenu.direction.down, 0, 0, TransMenu.reference.bottomLeft);
    TransMenu.subpad_x = 0;
    TransMenu.subpad_y = 0;
    		
    	var tmenu1 = ms.addMenu(document.getElementById("menu1"));
    		tmenu1.addItem("Başlık 1", "link", 0, 0);
    		
    	var tmenu2 = ms.addMenu(document.getElementById("menu2"));
    		tmenu2.addItem("Başlık 2", "link", 0, 0);
    
    
    TransMenu.renderAll();
    }
    init1=function()
    {
    TransMenu.initialize();
    }
    if (window.attachEvent)
    {
    window.attachEvent("onload", init1);
    }
    else
    {
    TransMenu.initialize();			
    }
    </script>
  • 03-04-2010, 18:04:06
    #2
    $menu = "<ul>";
    $islem = mysql_query("select * from menu_kategori");
    while($islem2 = mysql_fetch_array($islem)) {
    $id = $islem2["menu_id"];
    $menu .= "<li><a href='#'>".$islem2['menu_baslik']."</a><ul>";
    
        $islem3 = mysql_query("select * from menu_icerik where icerik_menu='$id'");
        while($islem4 = mysql_fetch_array($islem3)) {
        $menu .= "<li><a href='#'>".$islem4['menu_baslik']."</a></li>";
    
        }
    $menu .= '</ul></li>';
    }
    $menu .= '</ul>';
    
    echo $menu;
    // çıktısı 
    
    /*
    <ul>
    <li><a>link</a>
          <ul>
           <li><a>altlink</a></li> 
           <li><a>altlink</a></li> 
           <li><a>altlink</a></li> 
          </ul>
    </li>
    <li><a>link</a>
          <ul>
           <li><a>altlink</a></li> 
           <li><a>altlink</a></li> 
           <li><a>altlink</a></li> 
          </ul>
    </li>
    </ul>
    */
  • 03-04-2010, 19:13:03
    #3
    mahlesef çalışmadı....
  • 03-04-2010, 20:09:07
    #4
    Direk olan çalışmaması normal, sql yapısını bilmiyorum, id menu başlığı ve bunun gibi tablo isimlerini kendiniz değiştirmeniz lazım.
    Mantık sorulduğu için mantığını yazdım...
  • 04-04-2010, 13:48:24
    #5
    üstad kendi tablo yapıma göre değiştirsemde çalıştıramadım mahlesef...

    tablo yapısını, CSS ve html kodları aşağıda...


    Başlıklar için Tablo Yapısı

    Tablo Adı = ustmenu_kategori

    id
    kategori_adi
    sira


    Başlıklar altında çıkacak olan menüler için ablo Yapısı

    Tablo Adı = ust_menu

    id
    kategori_adi
    bolum_adi
    url
    bolum_sira

    //-------------------------------------------------------


    CSS
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="tr" lang="tr">
    
    <style>
    .part_3{
    	position: absolute;
    	top: 111px;
    	left: 0px;
    }
    
    .transMenu {
    	position: absolute;
    	left: -1000px;
    	top: -1000px;
    	overflow: hidden;
    }
    .transMenu .content {
    	position: absolute
    }
    .transMenu .background {
    	position: absolute;
    	z-index: 1;
    	left: 0px;
    	top: 0px;
    	filter: alpha(opacity=100);
    	-moz-opacity: 1.0;
    }
    .transMenu .shadowright {
    	position: absolute;
    	z-index: 3;
    	top: 3px;
    	width: 2px;
    	filter: alpha(opacity=100);
    	-moz-opacity: 1.0;
    	display: none;
    }
    .transMenu .shadowbottom {
    	z-index: 1;
    	position: absolute;
    	left: 3px;
    	height: 2px;
    	filter: alpha(opacity=100);
    	-moz-opacity: 1.0;
    	display: none;
    }
    .transMenu .items {
    	position: relative;
    	z-index: 2;
    	left: 0px;
    	top: 0px;
    }
    .transMenu .item {
    	cursor: pointer;
    	color: #ffffff;
    	border-style: none;
    	font: 100 11px tahoma, arial, sans-serif;
    }
    .transMenu .item td{
    	background: #dce4ea;
    	color: #545454;
    	font: 100 11px tahoma, arial, sans-serif;
    }
    .transMenu .hover.item {
    	color: #212121;
    }
    .transMenu .hover td{
    	background: #7daacc;
    	color: #ffffff;
    }
    .transMenu .item img {
    	margin-left: 10px
    }
    .transMenu .item#active {
    	background: #5fa4fb;
    	color: #ffffff;
    }
    .transMenu .item#active:hover {
    	background: #545c66;
    	color: #ffffff;
    }
    .navigation{
    	height: 27px;
    	overflow-y: hidden;
    	margin: 0px;
    	padding: 0px 0px 0px 20px;
    }
    .navigation li {
    	float: left;
    	height: 27px;
    	list-style: none;
    	background: url(../images/top_nav_sep.png) no-repeat left 12px;
    }
    .navigation a{
    	height: 27px;
    	font: 700 11px/27px Tahoma;
    	color: #ffffff;
    	padding: 0px 10px 0px 9px;
    }
    .navigation a:hover{
    	text-decoration: underline;
    }
    </style>


    <script src="http://www.ilkehaber.com/js/transmenu.js" type="text/javascript"></script>
    
    <div class="part_3">
    			<ul class="navigation">
    			<li><a id="menu1" href="haberler/guncel-1.htm" target="_self"><font color="#000000">Güncel</font></a></li>
    			<li><a id="menu2" href="haberler/siyaset-2.htm" target="_self"><font color="#000000">Siyaset</font></a></li>
    			</ul>
    </div>
    
    
    <script language="javascript" type="text/javascript">
    if (TransMenu.isSupported())
    {
    var ms = new TransMenuSet(TransMenu.direction.down, 0, 0, TransMenu.reference.bottomLeft);
    TransMenu.subpad_x = 0;
    TransMenu.subpad_y = 0;
    
    var tmenu1 = ms.addMenu(document.getElementById("menu1"));
    tmenu1.addItem("Başlık", "link", 0, 0);
    
    var tmenu2 = ms.addMenu(document.getElementById("menu2"));
    tmenu2.addItem("Başlık", "link", 0, 0);
    
    TransMenu.renderAll();
    }
    init1=function()
    {
    TransMenu.initialize();
    }
    if (window.attachEvent)
    {
    window.attachEvent("onload", init1);
    }
    else
    {
    TransMenu.initialize();			
    }
    </script>
    Kaplan adlı üyeden alıntı: mesajı görüntüle
    Direk olan çalışmaması normal, sql yapısını bilmiyorum, id menu başlığı ve bunun gibi tablo isimlerini kendiniz değiştirmeniz lazım.
    Mantık sorulduğu için mantığını yazdım...