如何获得具体记录

时间:2016-02-12 00:08:48

标签: php sql

我正在制作一个简单的电影网站,我想在页面中显示相关的电影.. 我的数据库在电影表中包含美国和印度电影的问题 我试图找到一种方式,当访问者点击任何一部美国电影时,相关的电影只会出现在美国电影中(在我的表格中有一个名为" movie_lang&#34的专栏标有美国电影排名第1,印度排名第2) 这是我能得到的

 $query=mysql_query("select * from movies order by id desc limit 4");
      while($m=mysql_fetch_assoc($query)){
    if($m['movie_lang']== '1'){
            echo '<a href="view_movie.php?id='.$m['id'].'"><img src="uploads/poster/'.$m['thumbnail'].'" title="'.$m['name'].'"></a>' ;}
    else{

          echo '<div class="hidden"></div>"';
    }

      }

不确定我的代码。对不起......刚接触......

2 个答案:

答案 0 :(得分:1)

如果您只想显示美国电影,因为访问者点击它,您可以使用查询数据库显示所有美国电影。

$query = mysql_query("select * from movies where movie_lang = 1 order by id desc limit 4");

如果您想要印度电影,只需将movie_lang中的参数更改为2.此参数可以为您提供GET请求。

答案 1 :(得分:1)

好吧,我想我理解这个问题,请告诉我,如果我错过了它:你想要列出所有类型的电影,但是如果用户点击美国电影的链接,你只想向他显示美国语言以后的电影。这是我的想法:

// When a page loads, it checks if the 'selected_lang' variable is set. If so, it creates a language filter
$previous_lang = isset($_GET['selected_lang'] && is_numeric($_GET['selected_lang'])) ? " where movie_lang = " . $_GET['selected_lang'] . " " : "";

// We assemble queries which will use a language filter if we have one, or all languages if not
$query=mysql_query("select * from movies $previous_lang order by id desc limit 4");

while($m=mysql_fetch_assoc($query)){
    if($m['movie_lang']== '1'){
        // We include a 'selected_lang' variable in our link, so that page now nows the language of the movie the user picked
        echo '<a href="view_movie.php?selected_lang=1&id='.$m['id'].'"><img src="uploads/poster/'.$m['thumbnail'].'" title="'.$m['name'].'"></a>' ;
    } else {
        echo '<div class="hidden"></div>"';
    }
}

此代码查看是否设置了“selected_lang”,如果是,则将其用于后续SQL查询。你可能不得不在这里和那里为不同的页面切碎,如果你想在自己的(明智的)where子句中编写,可能需要重新安排它。

如果您需要更多帮助,请与我们联系。