ПравилаРегистрацияВход
НАВИГАЦИЯ

Учим PHP

Модераторы: нет
Список форумов » Вэб-разработкаНа страницу  1, 2, 3 ... 27, 28, 29 ... 86, 87, 88 
АВТОРСООБЩЕНИЕ
Dedof
Avatar
Имя: Владимир
Сейчас нет на сайте
Репутация: 1
Регистрация: 21.08.2006
Всего сообщений: 899
Откуда: Воркута
13 февраля 2009, 10:23
Пытался сделать постраничную навигацию получается примерно так
{ $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'];
но вобще неполучается ето туда поставить,подскажите пожалуйста что я не так делаю
Profi
Administrator
Avatar
Репутация: 98
Регистрация: 25.04.2006
Всего сообщений: 7072
Откуда: Уфа РБ
14 февраля 2009, 11:53
Dedof, так покажи запрос. Может у тебя там синтаксическая ошибка?
Ссылки на страницы выводятся верно? Номер страницы методом GET в скрипт принимаешь? Типа
$start = intval($_GET['start']);
Profi
Administrator
Avatar
Репутация: 98
Регистрация: 25.04.2006
Всего сообщений: 7072
Откуда: Уфа РБ
14 февраля 2009, 11:56
И вот эта строчка у тебя странная
$pagination = generate_pagination("fcomentt.$phpEx?", $count['total'], $board_config['posts_per_page'], $start);
Судя по всему ты про $comment_pic_id забыл
Dedof
Avatar
Имя: Владимир
Сейчас нет на сайте
Репутация: 1
Регистрация: 21.08.2006
Всего сообщений: 899
Откуда: Воркута
14 февраля 2009, 13:15
вот преведу всё целиком:


<?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);
}
Dedof
Avatar
Имя: Владимир
Сейчас нет на сайте
Репутация: 1
Регистрация: 21.08.2006
Всего сообщений: 899
Откуда: Воркута
14 февраля 2009, 13:16
и далее:

$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
ну и так далее,но выводится всего одно сообщение,причем при переходе по страницам оно не меняется а переход судя по адресной строке происходит :(
Profi
Administrator
Avatar
Репутация: 98
Регистрация: 25.04.2006
Всего сообщений: 7072
Откуда: Уфа РБ
14 февраля 2009, 20:16
Dedof, я не понял, ты выводишь все комментарии или комментарии к конкретному файлу? Чего то у тебя запросы между собой не стыкуются.
Dedof
Avatar
Имя: Владимир
Сейчас нет на сайте
Репутация: 1
Регистрация: 21.08.2006
Всего сообщений: 899
Откуда: Воркута
14 февраля 2009, 21:58
Все комментарии
Dedof
Avatar
Имя: Владимир
Сейчас нет на сайте
Репутация: 1
Регистрация: 21.08.2006
Всего сообщений: 899
Откуда: Воркута
14 февраля 2009, 22:55
вот же во втором запросе считаем общее количество комментариев $sql = "SELECT COUNT($comment_pic_id) as total FROM " . phpbb_album_comment;
Profi
Administrator
Avatar
Репутация: 98
Регистрация: 25.04.2006
Всего сообщений: 7072
Откуда: Уфа РБ
17 февраля 2009, 02:02
Dedof, очевидно не COUNT($comment_pic_id), а COUNT(comment_pic_id). Если конечно у тебя есть уникальная ячейка comment_pic_id в таблице комментариев.
Dedof
Avatar
Имя: Владимир
Сейчас нет на сайте
Репутация: 1
Регистрация: 21.08.2006
Всего сообщений: 899
Откуда: Воркута
17 февраля 2009, 05:38
да переделал,заработала навигация-но почему то выводится только одно сообщение на страницу, видимо где то в $template->set_filenames(array что то не так делаю
Список форумов » Вэб-разработкаНа страницу Пред. 1, 2, 3 ... 27, 28, 29 ... 86, 87, 88 След.
 
стр.  
Страница 28 из 88
Часовой пояс: GMT + 4
Мобильный портал, Profi © 2005-2016
Время генерации страницы: 0.023 сек
Общая загрузка процессора: 4%
SQL-запросов: 4
Rambler's Top100