%s has %d movies:\r\n"); // category,count
define('FORMAT_MOVIE_INFO', "
\r\n
\r\n
\r\n%s
\r\n
\r\n%s\r\n"); // id,cover,title,description
function fatal_error($msg) {
die($msg);
}
function get_movies_by_category($cat) {
if($con = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE)) {
$sql = "SELECT id, title, description, cover FROM movie WHERE category LIKE ? ORDER BY title ASC";
if ($_SESSION[FLAG] == ORIGINAL_FLAG) {
$sql .= " AND copy = 'Original'";
}
if($stmt = mysqli_prepare($con, $sql)) {
mysqli_stmt_bind_param($stmt, 's', $wccat);
$wccat = '%' . $cat . '%';
if($stmt->execute()) {
$stmt->store_result();
$stmt->bind_result($id, $title, $description, $cover);
$res = array();
while(mysqli_stmt_fetch($stmt)) {
$res[] = array('id' => $id, 'title' => $title, 'description' => $description, 'cover' => $cover);
}
mysqli_close($con);
return $res;
} else {
fatal_error(mysqli_error($con));
}
} else {
fatal_error(mysqli_error($con));
}
} else {
fatal_error(mysqli_connect_error());
}
}
function display_movies($movies, $cat) {
if(count($movies) > 0) {
echo sprintf(FORMAT_SOME_MOVIES, $cat, count($movies));
foreach($movies as $movie) {
echo sprintf(FORMAT_MOVIE_INFO, $movie['id'], $movie['cover'], $movie['title'], $movie['description']);
}
} else {
echo sprintf(FORMAT_ZERO_MOVIES, $cat);
}
}
if (isset($_GET['category'])) {
$movies = get_movies_by_category($_GET['category']);
display_movies($movies, $_GET['category']);
} else {
fatal_error('Category not specified');
}
?>