Mam problem z paginacją:
if ( isset($_GET['read_news']) && !(isset($_POST['submit'])) ) {
$id_newsa = intval($_GET['read_news']); $sql = "SELECT * FROM `comments` WHERE comment_news_id = ".$id_newsa." AND comment_approve = 0";
or
die('Nie udało sie pobrac danych'); $perPage = board_config('comments_per_page');
{
$page = (int) $_REQUEST['page'];
if ($page < 1)
{
$page = 1;
}
}
else
{
$page = 1;
}
$block_pagination = $znaleziono/($page*$perPage);
if ( !isset($_GET['page']) || isset($_GET['page']) && ( $block_pagination == 1
|| $block_pagination > 1
) ) {
$pag_next_on = ( ($page * $perPage) < $znaleziono ) ? TRUE : FALSE;
$pag_back_on = ( ($page > 1 ) ) ? TRUE : FALSE;
$separator = ( $pag_next_on == TRUE && $pag_back_on == TRUE ) ? ' | ' : '';
$start = ($page - 1) * $perPage;
$sql = "SELECT * FROM `comments` WHERE comment_news_id = ".$id_newsa." AND comment_approve = 0 LIMIT $start, $perPage";
or
die('Nie udało sie pobrac danych'); if ( $ile_wynikow > 0 )
{
{
$czasik = date('d.m.Y, H:i', $row['comment_date']); $author_nick = $row['comment_from_userid'] == 0 ? '<b>' . $row['guest_nick'] . '</b>' : '<a href="loginek.php?admin=viewprofile&id=' . $row['comment_from_userid'] . '"><b>' . get_username($row['comment_from_userid']) . '</b></a>';
$tabela_comments .= '<table border="1"><tr><td>Autor: ' . $author_nick . '</td></tr><tr><td>Data dodania: ' . $czasik . '</td></tr><tr><td>Tresc komenatrza:<br>' . $message . '</td></tr></table>';
}
}
else
{
$tabela_comments = '<table border="1"><tr><td>BRAK KOMENTARZY</td></tr></table>';
}
$session_type = $_SESSION['admin'] == NULL ? '<input type="post" name="guest_nick" maxlength="25">' : '<input type="post" readonly="readonly" value="' . $userdata['nick'] . '" maxlength="25">';
$tabela_add_comment = '<form action="loginek.php?read_news=' . $id_newsa . '" method="post"><table border="1"><tr><td>Autor: ' . $session_type . '</td></tr><tr><td>Komentarz:<br><textarea name="comment_message" rows="5" cols="30" tabindex="3" class="post"></textarea></td></tr><tr><td><input type="submit" name="submit" value="Wyslij"></table></form>';
$newsa_id = intval($_GET['read_news']); $sql = "SELECT * FROM `news` WHERE id = ".$newsa_id."";
or
die('Nie udało sie pobrac danych'); $prev = $page - 1;
$next = $page + 1;
$prevLink = $_SERVER['PHP_SELF'] . '?read_news=' . $newsa_id . '&page=' . $prev;
$nextLink = $_SERVER['PHP_SELF'] . '?read_news=' . $newsa_id . '&page=' . $next;
$link_pagin_next = ( $pag_next_on == TRUE ) ? $link_pagin_next = '<a href="' . $nextLink . '">Next Page</a>' : '';
$link_pagin_back = ( $pag_back_on == TRUE ) ? $link_pagin_back = '<a href="' . $prevLink . '">Wstecz</a>' : '';
if ( $ile > 0 )
{
$tresc = prep_message($row['news_text']);
$title = $row['news_subject'];
$newsman_name = get_username($row['newsman_id']);
$czas = date('d.m.Y, H:i', $row['news_date']); $edytowany = $row['edit_newsman_id'] > 0
&& $userdata['user_newsman'] == 1 ?
$edytowany = '<br><br>-------------------<br>News byl ostatnio edytowany przez <a href="loginek.php?admin=viewprofile&id=' . $row['edit_newsman_id'] . '">' . get_username
($row['edit_newsman_id']) . '</a>, dnia ' . date('d.m.Y, H:i', $row['edit_time_news']) . '<br>-------------------' : $edytowany = '';
$meta_keywords = board_config('meta_keywords') . ', ' . meta_tags($title);
require_once('page_header.php');
$body = '<table border="1"><tr><td>Dodane przez: ' . $newsman_name . '</td></tr><tr><td>Data dodania: ' . $czas . '</td></tr><tr><td>Tytul newsa: ' . $title . '</td></tr><tr><td>Tresc newsa:<br>' . $tresc . $edytowany . '</td></tr></table><br>' . $tabela_comments . $link_pagin_back . $separator . $link_pagin_next . $tabela_add_comment . '';
require_once('page_footer.php');
}
else
{
require_once('page_header.php');
echo "Taki news nie istnieje!"; require_once('page_footer.php');
}
}
else
{
require_once('page_header.php');
echo "Link jest niepoprawny!"; require_once('page_footer.php');
}
}
Problem jest z tym fragmentem:
$block_pagination = $znaleziono/($page*$perPage);
if ( !isset($_GET['page']) || isset($_GET['page']) && ( $block_pagination == 1
|| $block_pagination > 1 ) )
Chodzi o to że mam ustawione iż na jedną stronę ma wyświetlać 2 komentarze. I teraz:
- Jeśli mam 4 newsy, to wszystko się ładnie wyświetla na dwóch stronach, natomiast jeśli mam 3 newsy - warunek się nie spełnia i wyrzuca mi że adres jest niepoprawny. Co jest nie tak w tym działaniu, a może w samym warunku? ;/
Ten post edytował nospor 10.02.2012, 16:27:14
Powód edycji: [nospor]: