【发布时间】:2016-08-01 14:02:27
【问题描述】:
我正在做一个附带项目,过去几天我取得了一些不错的进展,但我遇到了一个问题。我正在使用 php、mysql 和 bootstrap。副项目正在处理电影收藏。我得到的大部分信息都显示了我想要的方式,但类型。我可以在 mysql 端使用 groupconcat 显示所有类型,但我希望它们成为链接,以便用户可以单击它们并打开一个包含该类型所有电影的页面。如果我不使用 groupconcat,我只会显示一种类型。
这是在数据库中设置表的方式。
电影具有情节、时长、类型、类别等所有基本信息。主键是一个代码列。 Genres 是另一个包含所有流派信息的表。它也有一个代码pk。 然后有一个链接它们的 MovieGenres 表。
电影 |代码 | PK|
类型 |代码|PK| |类型| |全流派名称
电影类型 |电影代码|PK| |类型代码|PK|
任何帮助将不胜感激!
这是我的网站部分代码
<?php
require '../database.php';
$Code = null;
if ( !empty($_GET['Code'])) {
$Code = $_REQUEST['Code'];
}
if ( null==$Code ) {
header("Location: index.php");
} else {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "
SELECT
Movies.Code, Title, Plot, Movies.Type,
Movies.Category, Image, Score, Rated, Alt, Status,
YearReleased, Duration,
SUBSTRING(Duration, 1, CHAR_LENGTH(Duration) - 3) AS Duration2,
TotalEps, Types.code as tcode, Types.Type as ttype,
Categories.Code as ccode, Categories.Category as ca,
Ratings.Code as rc, Ratings.Rating as rr, Genre
FROM Movies, Types, Categories, Ratings, MovieGenres, Genres
WHERE Movies.Type=Types.Code
AND Movies.Rated=Ratings.Code
AND Movies.Category=Categories.Code
AND Movies.Code=MovieGenres.MovieCode
AND MovieGenres.GenreCode=Genres.Code
AND Movies.Code = ?";
$q = $pdo->prepare($sql);
$q->execute(array($Code));
$data = $q->fetch(PDO::FETCH_ASSOC);
Database::disconnect();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="description" content="">
<meta name="author" content="">
<title>MovieDB - <?php echo $data['Title'];?></title>
<!-- Bootstrap Core CSS -->
<link href="../css/bootstrap.min.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="../css/modern-business.css" rel="stylesheet">
<link href="../css/custom.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="../font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Navigation -->
<?php include '../include/nav.php';?>
<!-- Page Content -->
<div class="container">
<!-- Page Heading/Breadcrumbs -->
<div class="row">
<div class="col-lg-12">
<h2 class="page-header"><?php echo $data['Title'];?>
</h2>
</div>
</div>
<!-- /.row -->
<!-- Portfolio Item Row -->
<div class="row">
<div class="col-md-4">
<img class="img-responsive" src="../Images/<?php echo $data['Image'];?>" alt="">
</div>
<div class="col-md-8 hidden-sm hidden-xs">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#Plot">Plot</a></li>
<li><a data-toggle="tab" href="#Details">Details</a></li>
</ul>
<div class="tab-content">
<div id="Plot" class="tab-pane fade in active">
<p><?php echo $data['Plot'];?></p>
</div>
<div id="Details" class="tab-pane fade">
<li>Alternative Title: <?php echo $data['Alt'];?></li>
<li>Type: <a href="../list/type.php?Code=<?php echo $data['tcode'];?>&Type=<?php echo $data['ttype'];?>"><?php echo $data['ttype'];?></a></li>
<li>Rated: <a href="../list/rating.php?Code=<?php echo $data['rc'];?>&Rating=<?php echo $data['rr'];?>"><?php echo $data['rr'];?></a></li>
<li>Episodes: <?php echo $data['TotalEps'];?></li>
<li>Duration: <?php echo $data['Duration2'];?></li>
<li>Status: <?php echo $data['Status'];?></li>
<li>Genre: <?php echo $data['Genre'];?></li>
<li>Category: <a href="../list/categories.php?Code=<?php echo $data['ccode'];?>&Category=<?php echo $data['ca'];?>"><?php echo $data['ca'];?></a></li>
<li>Year Released: <a href="../list/year.php?Year=<?php echo $data['YearReleased'];?>"><?php echo $data['YearReleased'];?></a></li>
<li>Score: <?php echo $data['Score'];?></li>
</div>
</div>
</div>
<div class="col-md-4 hidden-md hidden=-lg">
<h3>Plot</h3>
<p><?php echo $data['Plot'];?></p>
</div>
<div class="col-md-4 hidden-md hidden=-lg ">
<h3>Details</h3>
<ul>
<li>Alternative Title: <?php echo $data['Alt'];?></li>
<li>Type: <a href="../list/type.php?Code=<?php echo $data['tcode'];?>&Type=<?php echo $data['ttype'];?>"><?php echo $data['ttype'];?></a></li>
<li>Rated: <a href="../list/rating.php?Code=<?php echo $data['rc'];?>&Rating=<?php echo $data['rr'];?>"><?php echo $data['rr'];?></a></li>
<li>Episodes: <?php echo $data['TotalEps'];?></li>
<li>Duration: <?php echo $data['Duration'];?></li>
<li>Genre: <?php echo $data['Genre'];?></li>
<li>Status: <?php echo $data['Status'];?></li>
<li>Category: <a href="../list/categories.php?Code=<?php echo $data['ccode'];?>&Category=<?php echo $data['ca'];?>"><?php echo $data['ca'];?></a></li>
<li>Year Released: <a href="../list/year.php?Year=<?php echo $data['YearReleased'];?>"><?php echo $data['YearReleased'];?></a></li>
<li>Score: <?php echo $data['Score'];?></li>
</ul>
</div>
</div>
<!-- /.row -->
<hr>
<!-- Footer -->
<?php include '../include/footer.php';?>
<!-- /.container -->
<!-- jQuery -->
<script src="../js/jquery.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="../js/bootstrap.min.js"></script>
</body>
</html>
【问题讨论】:
标签: php mysql twitter-bootstrap-3