 |
 |
Форум сетевых администраторов » Веб Форумы » VBulletin 2.x.x » Хаки от Netadmin или "Сделай сам" » "1 2 3 4 ... Последняя страница" в vBulletin а я хочу
| Автор |
| Тема |
 |
|
 |
|
|
|
Сибиряк
|
Denveroid
А у тебя на сайте что за движок?... |
[сооб. #44209]
17-05-2003 18:15 |
|
Сибиряк


Зарегистрирован: Sep 2002
Место проживания: Новосибирск
Публикаций: 1255
Статус:  |
Denveroid
А у тебя на сайте что за движок? Сам все писал или стянул откуда-то? Хорошо все-таки сделано. Грамотно.
__________________
Международное брачное агенство в Сибири.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
17-05-2003 18:15 |
|
|
SiteMaker
|
Tagore
сам... но очень давно, 2 года назад.... |
[сооб. #44210]
17-05-2003 18:34 |
|
SiteMaker


Зарегистрирован: Jun 2002
Место проживания: Israel
Публикаций: 220
Статус:  |
Tagore
сам... но очень давно, 2 года назад. На самом деле он достаточно кривой. Сейчас вот думаю переписать, да со временем туго. Ну и с ленью все в порядке 
__________________
`
SiteMaker.Ru - Академия сайтостроительства
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
17-05-2003 18:34 |
|
|
Сибиряк
|
Denveroid
Вся страна ждет.
Все в ожидании...... |
[сооб. #44258]
18-05-2003 10:10 |
|
|
SiteMaker
|
Ð_ассказываю.
Допустим есть таблица статей... |
[сооб. #44266]
18-05-2003 11:09 |
|
SiteMaker


Зарегистрирован: Jun 2002
Место проживания: Israel
Публикаций: 220
Статус:  |
Ð_ассказываю.
Допустим есть таблица статей tbl_articles:
CREATE TABLE tbl_articles (
id int(8) NOT NULL auto_increment,
category_id int(8) NOT NULL default '0',
user_id int(8) NOT NULL default '1',
title varchar(255) NOT NULL default '',
text text NOT NULL,
dateline int(10) NOT NULL default '0',
PRIMARY KEY (id),
KEY category_id (category_id)
) TYPE=MyISAM;
Теперь нам надо разбить статьи по, скажем, 5 штук на страницу для каждой категории.
PHP:
// ######### spliting pages ############
// статей на страницу
$perpage=5;
if(!isset($pagenumber)) $pagenumber=1;
// лимиты
$limitlower=($pagenumber-1)*$perpage+1;
$limitupper=($pagenumber)*$perpage;
// общее число статей
$articlescount=$db->query_first("SELECT COUNT(*) AS num
FROM tbl_articles WHERE category_id=('тут номер категории')");
$totalarticles=$articlescount["num"];
$limitlower = ($pagenumber - 1) * $perpage + 1;
$limitupper = ($pagenumber) * $perpage;
if ($limitupper > $totalarticles)
{
$limitupper = $totalarticles;
if ($limitlower > $totalarticles)
{
$limitlower = $totalarticles- $perpage;
}
}
if ($limitlower <= 0)
{
$limitlower = 1;
}
$sel_limitlower = $limitlower;
// вытаскиваем id статей
$getarticleids=$db->query("SELECT id FROM tbl_articles
WHERE category_id=('тут номер категории') LIMIT ".($sel_limitlower-1).", $perpage");
// составляем список id's для запроса
$articleids="id IN (0";
while($art=$db->fetch_array($getarticleids))
{
$articleids.="," . $art["id"];
}
$articleids.=")";
// вызов функции (это и будет переменная с ссылками на страницы)
$pagenav = getpagenav($totalarticles,"?perpage=$perpage");
// ################## /spliting pages ################
// достаем всю информацию о статьях с выбранными id's
$rejects=$db->query("SELECT * FROM tbl_articles WHERE $articleids");
Cама функция getpagenav:
PHP:
function getpagenav($results, $address) {
global $perpage, $pagenumber;
// кол-во показываемых ссылок на страницы
$pagenavpages = 5;
if ($results <= $perpage)
{
return "";
}
$totalpages = ceil($results/$perpage);
if ($pagenumber>1)
{
$prevpage = $pagenumber-1;
$prevlink = "<a href=\"$address&pagenumber=$prevpage\" title=\"Previous page\">«</a>";
}
if ($pagenumber<$totalpages)
{
$nextpage = $pagenumber+1;
$nextlink = "<a href=\"$address&pagenumber=$nextpage\" title=\"Next page\">»</a>";
}
while ($curpage++<$totalpages)
{
if ( ( $curpage <= $pagenumber-$pagenavpages || $curpage >= $pagenumber+$pagenavpages ) && $pagenavpages!=0 )
{
if ($curpage==1)
{
$firstlink = "<a href=\"$address&pagenumber=$curpage\" title=\"First page\">« First</a> ... ";
}
if ($curpage==$totalpages)
{
$lastlink = " ... <a href=\"$address&pagenumber=$curpage\" title=\"Last page\">Last »</a>";
}
}
else
{
if ($curpage==$pagenumber)
{
$pagenav .= " [$curpage] ";
}
else
{
$pagenav .= " <a href=\"$address&pagenumber=$curpage\">$curpage</a> ";
}
}
}
$pagenav = "<b>$totalpages Pages: $firstlink $prevlink $pagenav $nextlink $lastlink</b>";
return $pagenav;
}
__________________
`
SiteMaker.Ru - Академия сайтостроительства
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
18-05-2003 11:09 |
|
|
MuZzClub.ru
|
| эээ... а как к форуму это прикрутить??? |
[сооб. #44294]
18-05-2003 17:21 |
|
|
SiteMaker
|
MCTarakan
Куда именно ты хочешь прикрутить... |
[сооб. #44300]
18-05-2003 19:14 |
|
SiteMaker


Зарегистрирован: Jun 2002
Место проживания: Israel
Публикаций: 220
Статус:  |
MCTarakan
Куда именно ты хочешь прикрутить это? Я лишь показал сам принцип... а прикручивать надо уже исходя из потребностей и желаний.
__________________
`
SiteMaker.Ru - Академия сайтостроительства
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
18-05-2003 19:14 |
|
|
MuZzClub.ru
|
| Denveroid дык, как было запрошено в первом... |
[сооб. #44311]
18-05-2003 21:56 |
|
MuZzClub.ru


Зарегистрирован: Jul 2002
Место проживания: Ireland
Публикаций: 2710
Статус:  |
Denveroid дык, как было запрошено в первом посте в тему... т.е. смотри, тут внизу стоит ща:
Страницы (2): « 1 [2]
Если бы тут было 10 страниц (например тут), то это выглядит так:
Страницы (10): « 1 2 [3] 4 5 » ... Последняя »
А хотелось бы, чтобы это выглядело так:
Страницы (10): « 1 2 3 ... 6 7 [8] 9 10 »
Страницы (10): « 1 2 [3] 4 5 ... 8 9 10 »
Т.е. показывало бы не только последнюю, но 2-3 перед ней! Тоже самое в threadlist-е! 
__________________
yMC.ru - хомяк музыканта
Сообщение было отредактировано MCTarakan 18-05-2003 в 22:04
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
18-05-2003 21:56 |
|
|
SiteMaker
|
MCTarakan
Господа, вы уже по-моему извращаетесь... |
[сооб. #44315]
18-05-2003 22:48 |
|
SiteMaker


Зарегистрирован: Jun 2002
Место проживания: Israel
Публикаций: 220
Статус:  |
MCTarakan
Господа, вы уже по-моему извращаетесь Ð_то ж есть в опциях.
Options -> Thread display options -> Pages to show in nav bar
Ставьте 0, и будет вам счастье.
Но тогда будут показываться все ссылки на все страницы везде (на всех страницах форума). То есть так: 1 2 3 4 5 6 7 8 9 10 11 и т.д. Если хочется конкретно в showthread такое сделать, то идем в showthread.php:
ищем строку:
$pagenav = getpagenav($totalposts,"showthread.php?s=$session[sessionhash]&threadid=$threadid&perpage=$perpage".iif(isset($highlight), "&highlight=$highlight", ""));
и перед ней добавляем:
$pagenavpages=0;
И опять же, будет вам счастье.
__________________
`
SiteMaker.Ru - Академия сайтостроительства
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
18-05-2003 22:48 |
|
|
MuZzClub.ru
|
Denveroid дык, а если страниц 20, а если 100???
просто... |
[сооб. #44321]
19-05-2003 02:06 |
|
MuZzClub.ru


Зарегистрирован: Jul 2002
Место проживания: Ireland
Публикаций: 2710
Статус:  |
Denveroid дык, а если страниц 20, а если 100???
просто человек сказал, что где-то (вроде в Инвижин) это осуществлено.. вот и хотелось бы! 
__________________
yMC.ru - хомяк музыканта
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
19-05-2003 02:06 |
|
|
Сибиряк
|
Denveroid
Так что последный твой пост не канет.
Я... |
[сооб. #44325]
19-05-2003 06:33 |
|
Сибиряк


Зарегистрирован: Sep 2002
Место проживания: Новосибирск
Публикаций: 1255
Статус:  |
Denveroid
Так что последный твой пост не канет.
Я скоро выложу то, что я сделал. По поводу пагианции и upload в вБ.
__________________
Международное брачное агенство в Сибири.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
19-05-2003 06:33 |
|
|
Участник
|
Tagore
Большое спасибо.
Но вначале я хотел... |
[сооб. #44328]
19-05-2003 06:47 |
|
Участник

Зарегистрирован: Feb 2003
Место проживания:
Публикаций: 79
Статус:  |
Tagore
Большое спасибо.
Но вначале я хотел чтоб когда просматриваешь топики (Тоесть forumdisplay.php) было не.
Тест !!! ( 1 2 3 4 ... Последняя страница ), а
Тест !!! ( 1 2 3 4 ... 101 102 103 ). А вы сделали showthread.php хотя эта тоже очень приятно 
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
19-05-2003 06:47 |
|
|
Сибиряк
|
Isvet
I'm very busy, sorry for that.
Не могу, экзамены,... |
[сооб. #45394]
31-05-2003 23:52 |
|
Сибиряк


Зарегистрирован: Sep 2002
Место проживания: Новосибирск
Публикаций: 1255
Статус:  |
Isvet
I'm very busy, sorry for that.
Не могу, экзамены, времени нет ...будет ...
__________________
Международное брачное агенство в Сибири.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
31-05-2003 23:52 |
|
|
|
Формат времени GMT. Текущее время 18:34.
|
Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения. |
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
|
|
|
|
| |
Page generated in 1.03365898 seconds (99.31% PHP - 0.69% MySQL) with 27 queries.
|
 |