我一直得到双重结果。

时间:2016-06-26 11:01:52

标签: php mysqli

我是一名业余程序员,我只是不知道我的查询有什么问题。我希望从我的登录页面的数据库中获取内容,但如果我有多种类型,我会得到多个结果。我认为它与我的查询有关。请记住,我不擅长编程,我也不擅长SQL我有一张名为电影'电影'的电影桌,主键是' id',桌子'流派'有' 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.";
        }
        ?>

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

使用group by

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

答案 1 :(得分: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";