I have another problem with genres page. Maybe you know php as well like mysql and can help me.
I need to get how many genre comedy have movies to make pages.
PHP Code:
$genre_name = urldecode(htmlEntities($_GET['q']));
$page_query = mysql_query('SELECT COUNT(id), `genre` FROM `genres` WHERE `genre` LIKE "'.$genre_name.'"');
$pages = @ceil(mysql_result($page_query, 0) / $MovieListPerPage);
$page = (isSet($_GET['page']) AND (int)$_GET['page'] > 0) ? (int)$_GET['page'] : 1;
$start = ($page - 1) * $MovieListPerPage;
And another question:
PHP Code:
$queryid = 'SELECT * FROM `genres` WHERE `genre` LIKE "'.$genre_name.'"';
if (mysql_fetch_row(mysql_query($queryid)) >= 1)
{
if (!empty($genre_name))
{
if ( isSet($genre_name[1]) ) {
$query = "SELECT m.id, m.title, m.year, GROUP_CONCAT(g.genre) AS genres, GROUP_CONCAT(a.actor) AS actors
FROM movies m
INNER JOIN moviegenres mg ON (mg.movie_id = m.id)
INNER JOIN genres g ON (g.id = mg.genre_id)
INNER JOIN movieactors ma ON (ma.movie_id = m.id)
INNER JOIN actors a ON (a.id = ma.actor_id)
WHERE `genre` LIKE '%s'
ORDER BY m.title
LIMIT %d, %d;";
} else {
$query = "SELECT m.id, m.title, m.year, GROUP_CONCAT(g.genre) AS genres, GROUP_CONCAT(a.actor) AS actors
FROM movies m
INNER JOIN moviegenres mg ON (mg.movie_id = m.id)
INNER JOIN genres g ON (g.id = mg.genre_id)
INNER JOIN movieactors ma ON (ma.movie_id = m.id)
INNER JOIN actors a ON (a.id = ma.actor_id)
WHERE `genre` LIKE '%s' AND char_length(genre) >= 3
ORDER BY m.title
LIMIT %d, %d;";
}
$query = sprintf($query, $genre_name, $start, $MovieListPerPage);
$result = mysql_query($query);
$TMPL_old = $TMPL; $TMPL = array();
$template = new template('movielist/movielist');
$all = '';
while ( $TMPL = mysql_fetch_assoc($result) )
{
$TMPL['moviegenres'] = str_replace(',', ', ', $TMPL['genres']);
$all .= $template->make();
}
Why this code show me only one movie and only one genre?
example:
Genres: comedy, comedy, comedy, comedy, comedy, comedy, comedy