Witam,
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) ) {
$row['category'] = intval( $row['category'] );
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=viewsjak 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