Mam pewien problem z modułem a mianowicie wyświetla on z bazy danych daną ilość artykułów z ilością komentarzy, oceny i wyświetleń od najwyższej do najniższej...
Wszystko wyświetla się prawidłowo w ilości komentarzy i ocenach jeśli jednak przejdę do wyświetlanie wg odwiedzin to pokazuje mi w wszystkich artykułach najwyższą liczbę odwiedzin z 1 art gdzie realna liczba jest całkiem inna...
Niżej podaję kod odpowiedzialny za wyświetlanie art wg wyświetleń/odwiedzin:
if ($_GET['mode']=='views'){ $cache = $dle_api->load_from_cache ( "top100views", 3600, $tpl->result['content'] ); if( $cache === false ) { if ($top100_config['category'] != 0){ $category_true = "AND category IN (".$top100_config['category'].")"; } else { $category_true = ""; } $sql_result = $db->query( "SELECT a.id, a.title, a.category, a.alt_name, b.news_read FROM " . PREFIX . "_post a INNER JOIN " . PREFIX . "_post_extras b WHERE approve=1 ".$category_true." ORDER BY news_read DESC LIMIT ".$top100_config['news_num'] ); $top100 = <<<HTML <thead> <tr> <td align="center">$top100_config[title_num]</td> <td align="center">$top100_config[title_name]</td> <td align="center">$top100_config[title_views_head]</td> </tr> </thead> HTML; $top100 .= <<<HTML <tbody> HTML; $i=1; while ( $row = $db->get_row($sql_result) ) { if( $config['allow_alt_url'] == "yes" ) { if( $row['flag'] and $config['seo_type'] ) { if( $row['category'] and $config['seo_type'] == 2 ) { $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html"; } else { $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html"; } } else { $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html"; } } else { $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id']; } $top100 .=''; if ($row['news_read']!=0){ $top100 .= <<<HTML <tr> <td align="center"> $i </td> <td><a href="$full_link" title=""><strong>$row[title]</strong></a></td> <td align="center">$row[news_read]</td> </tr> HTML; $i++; } } $top100 .= <<<HTML </tbody> HTML; $tpl->load_template( 'top100.tpl' ); $tpl->set( '{title}', $top100_config['title_views'] ); $tpl->set( '{top100}', $top100 ); $tpl->compile( 'content' ); $dle_api->save_to_cache ( "top100views", $tpl->result['content'] ); } else { } $tpl->clear(); $db->free(); }
Kod łączy ze sobą 2 tabele z których wyciąga dane:
- nazwa artykułu
- ilość wyświetleń
- id
- (rzekomo kategorię ale wycofałem tę funkcję)
Prawdopodobnie gdzieś w tym kodzie jest błąd ale już nie mam pomysłu gdzie.
Dla przykładu wyglądu podaję stronę testową:
http://djalexn.hol.es/?do=top100&mode=views
jak będzie potrzebny cały kod to chętnie podeślę i prosiłbym o jak najszybszą odpowiedź i najlepiej z podanym gotowym rozwiązaniem...
Z góry dziękuję i pozdrawiam