| Учим PHPАВТОР | СООБЩЕНИЕ |
---|
Имя: Владимир Сейчас нет на сайте Репутация: 1 Регистрация: 21.08.2006 Всего сообщений: 899 Откуда: Воркута |
| Пытался сделать постраничную навигацию получается примерно так
{ $res = "SELECT COUNT($comment_pic_id) as total FROM " . phpbb_album_comment;
if ( !($result = $db->sql_query($res)))
{
message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $res);
}
$count = $db->sql_fetchrow($result);
if ($count['total'] > $board_config['posts_per_page'])
{
$pagination = generate_pagination("fcomentt.$phpEx?", $count['total'], $board_config['posts_per_page'], $start);
}
$template->assign_vars(array( 'PAGINATION' => $pagination
));
}
но неработает,причина в том что в сол запросе после LIMIT " надо видимо писать . $start . ", " . $board_config['posts_per_page'];
но вобще неполучается ето туда поставить,подскажите пожалуйста что я не так делаю | |
| | Репутация: 126 Регистрация: 25.04.2006 Всего сообщений: 10175 Откуда: Уфа РБ |
| Dedof, так покажи запрос. Может у тебя там синтаксическая ошибка?
Ссылки на страницы выводятся верно? Номер страницы методом GET в скрипт принимаешь? Типа
$start = intval($_GET['start']); | |
| | Репутация: 126 Регистрация: 25.04.2006 Всего сообщений: 10175 Откуда: Уфа РБ |
| И вот эта строчка у тебя странная
$pagination = generate_pagination("fcomentt.$phpEx?", $count['total'], $board_config['posts_per_page'], $start);
Судя по всему ты про $comment_pic_id забыл | |
| | Имя: Владимир Сейчас нет на сайте Репутация: 1 Регистрация: 21.08.2006 Всего сообщений: 899 Откуда: Воркута |
| вот преведу всё целиком:
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './'; // <--
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_validate.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
$inline_columns = 4;
$inline_rows = 5;
$window_columns = 8;
$userdata = session_pagestart($user_ip, $page_id);
init_userprefs($userdata);
$page_title = 'Последние комментарии к фото';
include($phpbb_root_path . 'config.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'fcomment.tpl'));
$mysql_host = "localhost";
$mysql_user = " ";
$mysql_password = " ";
$mysql_bd = " ";
$link = mysql_connect($mysql_host, $mysql_user, $mysql_password);
mysql_select_db($mysql_bd);
$sql=mysql_query("SELECT t.*, a.* FROM phpbb_album_comment t, phpbb_album a WHERE t.comment_pic_id = a.pic_id ORDER BY comment_id DESC LIMIT 50");
while($row=mysql_fetch_array($sql))
// вот видимо здесь вместо DESC LIMIT 50 должно быть . $start . ", " . $board_config['posts_per_page']; но с ним вообще не работает
{
$comment_text=$row[comment_text];
$comment_text = smilies_pass($comment_text);
$comment_username = $row[comment_username];
$pic_title=$row[pic_title];
$comment_pic_id=$row[comment_pic_id];
$comment_time=$row[comment_time];
$comment_time = strftime(" %d.%m %H:%M",$comment_time);
$pic_id=$row[pic_id];
$sql = "SELECT COUNT($comment_pic_id) as total FROM " . phpbb_album_comment;
if ( !($sqlult = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $sql);
}
$count = $db->sql_fetchrow($sqlult);
if ($count['total'] > $board_config['posts_per_page'])
{
$pagination = generate_pagination("fcomentt.$phpEx?", $count['total'], $board_config['posts_per_page'], $start);
} | |
| | Имя: Владимир Сейчас нет на сайте Репутация: 1 Регистрация: 21.08.2006 Всего сообщений: 899 Откуда: Воркута |
| и далее:
$template->assign_vars(array(
'PIC_TITLE' => $pic_title,
'COMMENT_PIC_ID' => $comment_pic_id,
'COMMENT_TEXT' => $comment_text,
'COMMENT_USERNAME' => $comment_username,
'TIME' => $comment_time,
'PIC_ID' => $pic_id,
'PAGINATION' => $pagination
));
}
$template->pparse('body');
mysql_close($link);
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
в адресной строке браузера при запуске скрипта видна постраничная навигация вида http://test1.ru/fcomentt.php?&start=10
ну и так далее,но выводится всего одно сообщение,причем при переходе по страницам оно не меняется а переход судя по адресной строке происходит | |
| | Репутация: 126 Регистрация: 25.04.2006 Всего сообщений: 10175 Откуда: Уфа РБ |
| Dedof, я не понял, ты выводишь все комментарии или комментарии к конкретному файлу? Чего то у тебя запросы между собой не стыкуются. | |
| | Имя: Владимир Сейчас нет на сайте Репутация: 1 Регистрация: 21.08.2006 Всего сообщений: 899 Откуда: Воркута |
| | | Имя: Владимир Сейчас нет на сайте Репутация: 1 Регистрация: 21.08.2006 Всего сообщений: 899 Откуда: Воркута |
| вот же во втором запросе считаем общее количество комментариев $sql = "SELECT COUNT($comment_pic_id) as total FROM " . phpbb_album_comment; | |
| | Репутация: 126 Регистрация: 25.04.2006 Всего сообщений: 10175 Откуда: Уфа РБ |
| Dedof, очевидно не COUNT($comment_pic_id), а COUNT(comment_pic_id). Если конечно у тебя есть уникальная ячейка comment_pic_id в таблице комментариев. | |
| | Имя: Владимир Сейчас нет на сайте Репутация: 1 Регистрация: 21.08.2006 Всего сообщений: 899 Откуда: Воркута |
| да переделал,заработала навигация-но почему то выводится только одно сообщение на страницу, видимо где то в $template->set_filenames(array что то не так делаю | |
|
|
|