View Single Post
Old 02-25-2013, 01:47 PM   PM User | #11
destas
New Coder

 
Join Date: Feb 2013
Posts: 32
Thanks: 10
Thanked 0 Times in 0 Posts
destas is an unknown quantity at this point
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_query0) / $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
destas is offline   Reply With Quote