我正在制作一个简单的电影网站,我想在页面中显示相关的电影.. 我的数据库在电影表中包含美国和印度电影的问题 我试图找到一种方式,当访问者点击任何一部美国电影时,相关的电影只会出现在美国电影中(在我的表格中有一个名为" 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>"';
}
}
不确定我的代码。对不起......刚接触......
答案 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子句中编写,可能需要重新安排它。
如果您需要更多帮助,请与我们联系。