2016-06-26 11 views
0

私は素人のプログラマーです。私は質問に間違いがないかどうか分かりません。私はランディングページのためにデータベースからデータを取り出そうと思っていますが、複数のジャンルがあると複数の結果が得られます。私はそれが私の質問と関係があると思う。私はプログラミングにうまくやっていませんし、SQLでうまくいきません。私は映画と呼ばれる映画を持ったテーブルを持っています。主キーは「id」、テーブル「genres」は主キーとしてgenreid、と 'filmgenre'(ここで私は内部結合)は 'filmgenreid'を主キーとして持っています。私のコード:私は二重の結果を得続けます。

<?php 
     if(isset($_GET["id"])){ 
      $filmid = $_GET["id"]; 
      $query = mysqli_query($con, "SELECT * 
         FROM filmgenre INNER JOIN genres ON 
         genres.genreid=filmgenre.genreid INNER JOIN 
         films ON films.id=filmgenre.id WHERE films.id = '$filmid'"); 

      while($film = mysqli_fetch_array($query)){ 
       ?> 
       <img class="filmimage" src="<?php echo $film["plaatje"] ?>" /> 
       <h2 class="filmtitle"><?php echo $film["titel"] ?></h2><br> 
       <p class="tijdsduur">Tijdsduur: <?php $film["tijdsduur"] ?> minuten.</p> 
       <iframe width="854" height="480" src="<?php echo $film["trailer"] ?>" frameborder="0" allowfullscreen></iframe> 
       <p class="beschrijving"> <?php echo $film["voorwoord"] ?></p> 
       <p class="producent">Producent <?php echo $film["producent"] ?>.</p> 
       <p class="auteurs">Auteurs: <?php echo $film["auteurs"] ?>.</p> 
       <p class="jaar"><?php echo $film["jaar"] ?>.</p> 
       <?php echo $film["hoofdpersonen"] ?> 
       <?php 

      } 
     } 
     else{ 
      echo "Something went wrong."; 
     } 
     ?> 

誰でも手伝いできますか?

+0

おかげでたくさんの人を得ている何を期待すべきプラス何の例を与えることができるかを理解!それはトリックでした! –

+0

右の目盛りをクリックすると、これがうまくいけばansを受け入れることができます。他の人がこの質問が再開されたことを知っているように – C2486

+0

@SoFabulous回答の受け入れの詳細については、http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-workを参照してください。 – chris85

答えて

0

使用group by

WHERE films.id = '$filmid'" group by films.id; 
+0

SQLインジェクションについてのメモを追加してください。 – chris85

0

カントは本当にあなたが正確にしたいが、あなたはあなたの代わりに

SELECT * FROM filmgenre fg INNER JOIN genres g ON fg.genreid =g.genreid 
INNER JOIN films f ON fg.id = f.id WHERE f.id = '$filmid' GROUP BY g.genreid"; 
関連する問題