2016-12-12 16 views
0

メニューを作成しましたが、動作するページへのリンクを取得できません。 PHPmyadminにはというメニューというテーブルがあります。あなたがID、名前を見つけることができるテーブルで cantは動作するようにメニューを取得します

は、(サブメニュー用)をPARENTID HREF(これらのフィールドは、index.phpを/ news.phpなどのように、単にページ名が含まれている)

<?php include 'assets/class/dbcon.php'; ?> 

<?php 
    function loop_array($array = array(), $parent_id = 0){ 
     $html = 'http://mywebsite.com/'; 
      global $connection; 
      $result = mysqli_query($connection,"SELECT href FROM menus"); 
      $href = Array(); 
      while ($row = mysqli_fetch_array($result)) { 
      $href = $row['href']; 

      } 
     if(!empty($array[$parent_id])){ 

      echo '<ul class="cssmenu">'; 
      foreach($array[$parent_id] as $items){ 
      echo '<a href="'.$html.$href.'"><li style="z-index: 100;">'; 
      echo $items['name']; 
      loop_array($array, $items['id']); 
      echo '</li></a>'; 
      } 
      echo '</ul>'; 

     }  
    } 

    function display_menus() 
    { 


    global $connection; 
    $query = $connection->query("SELECT * FROM menus"); 
    $array = array(); 

    if(mysqli_num_rows($query)){ 

     while($rows = mysqli_fetch_array($query)){ 

      $array[$rows['parent_id']][] = $rows; 

     } 
     loop_array($array); 
    } 


    } 

    mysqli_close($connection); 
?> 

私がliタグをクリックするとがロードされる が表示されますが、これは現在liタグをクリックするとmywebsite.comに送り返されます。 href列をエコーアウトすると、すべてのhrefリンクが表示されます。それで、index.phpnews.phpfotos.phpのようなものです。

誰かが私にこれを手伝ってくれることを願っています。ありがとう!多くの愛。

+2

これは、PHPコードの混乱シチューで、HTML 。あなたは何をしようとしているのですか?なぜこれはもっと分かれないのですか? – tadman

+0

'$ html。$ href.'これはどういう意味ですか? –

+0

ようこそStackOverflowへ!良い質問をするための詳細については、[ask]をチェックしてください。この場合、あなたが持っている問題を示す[mcve]を提供することができれば、あなたと人が答えるのに役立つかもしれません。 – Kateract

答えて

2

グーグルDEV:私はメニューのために書いた

<header> 
    <div style="width: 100%; background-color: #383838; border-bottom: 4px solid #cd0000;"> 
     <div class="menu"> 
      <ul class="cssmenu"><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Home</li></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Nieuws</li></a><a href="http://cvdemarskoppen.nl/"></a><li style="z-index: 100;"><a href="http://cvdemarskoppen.nl/">De Marskoppen</a><ul class="cssmenu"><a href="http://cvdemarskoppen.nl/"></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Foto's</li></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Agenda</li></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Het Bestuur</li></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Historie</li></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Commissies</li></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Lid worden</li></a></ul></li><a href="http://cvdemarskoppen.nl/"></a><li style="z-index: 100;"><a href="http://cvdemarskoppen.nl/">Garde Officieren</a><ul class="cssmenu"><a href="http://cvdemarskoppen.nl/"></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Foto's</li></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Agenda</li></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Leden</li></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Historie</li></a></ul></li><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Vorstenhuis</li></a><a href="http://cvdemarskoppen.nl/"><li style="z-index: 100;">Sponsors</li></a></ul> </div> 
    </div> 
     <div class="header"> 
      <div style="display: none; background-color: #fe0000; width: 30%; float: left; height: 199px; position: absolute; margin: 60px 0 0 0; border-top: 4px solid #3f454b; border-bottom: 4px solid #3f454b;"></div> 
      <div style="width: 100%; float: left;"> 
      <div style="display: none; background-image: url('css/images/header/logo.png'); width: 209px; height: 208px; position: absolute; z-index: 4; float: right; margin: -4 0 0 180;"></div> 
      </div> 
      <div id="cycler" style="overflow:hidden;"> 
       <img class="active" src="css/images/header/1.jpg" alt="Plaats hier een foto." style="width: 100%; height: 150%; margin-top: -10%; display: block; z-index: 3;"> 
       <img src="css/images/header/2.jpg" alt="Plaats hier een foto." style="width: 100%; height: 150%; margin-top: -10%; z-index: 1; display: block;" class=""> 
       <img src="css/images/header/3.jpg" alt="Plaats hier een foto." style="width: 100%; height: 150%; margin-top: -10%; z-index: 1; display: block;" class="">   
      </div> 
     </div> 
     <div class="clear"></div> 
     <script> 
    function cycleImages(){ 
      var $active = $('#cycler .active'); 
      var $next = ($active.next().length > 0) ? $active.next() : $('#cycler img:first'); 
      $next.css('z-index',2);//move the next image up the pile 
      $active.fadeOut(1500,function(){//fade out the top image 
      $active.css('z-index',1).show().removeClass('active');//reset the z-index and unhide the image 
       $next.css('z-index',3).addClass('active');//make the next image the top one 
      }); 
     } 

    $(document).ready(function(){ 
    // run every 7s 
    setInterval('cycleImages()', 7000); 
    }) 
     </script> 

    </header> 

Htmlの。

<header> 
<div style="width: 100%; background-color: #383838; border-bottom: 4px solid #cd0000;"> 
    <div class="menu"> 
     <?php display_menus(); ?> 
    </div> 
</div> 

ご協力いただきありがとうございます。心に留めておいてください、これは私にとっては試行錯誤です。私はまだすべてを学んでいるので、PHPに新しい。

1

html変数に追加するhrefアレイの値をループしていないため、リンクが正しく組み立てられていません。

$array[$parent_id]にループしていて、そのあと$html変数に$href配列(値ではありません)を追加しようとしています。

これは基本的にDOM内にhttp://mywebsite.com/arrayまたは単にhttp://mywebsite.com/を与えます。

あなたは次のように$html配列のためのループを追加する必要があります。

$html = 'http://mywebsite.com/'; 

$href = array('a', 'b', 'c'); //this comes from your db as per your question 

$link = ''; 
$link .= '<ul>'; 

foreach($href as $val){ 
    $link .= '<a href="' . $html . $val . '"><li style="z-index: 100;"></li></a>'; 
} 

$link .= '</ul>'; 
echo $link; 

これはあなたのDOMで次のようになります:

<ul> 
<a href="http://mywebsite.com/a"><li style="z-index: 100;"></li></a> 
<a href="http://mywebsite.com/b"><li style="z-index: 100;"></li></a> 
<a href="http://mywebsite.com/c"><li style="z-index: 100;"></li></a> 
</ul> 
+0

私はあなたが何を意味するか分からない。しかし、私は本当にコードの配置を配置することはできません。そして、あなたは.phpファイルを意味しますか?または列。ここではデータベース構築のイメージhttps://gyazo.com/dfd8b2cda8cbd1b8f02ba22c985a9056 – Tim

+0

サンプルコードに "a、b、&c"を使用しましたが、これらはあなたのdbからソースされた '$ html '。 'href'値を取得するためにコードをリファクタリングする必要があります。これを行うにはいくつかの方法がありますが、毎回最初のforeachループの中で 'array_pop()'を使用して、毎回 'href'の最後の値を取得し、' $ html'に追加することさえできます –

関連する問題