Опростено странициране

Vladkata

Registered
Здравейте! Трябва ми едно съвсем опростено странициране. Търсих тук, но нещо не ми допадат. Ако знаете някое съвсем опростено, да може да се пригоди на следният код:

HTML:
<html>
<head>
</head>

<body>
<div class="header">
</div> 
<div class="content"> 
</div>
<div class="footer">
</div>
</body>
</head>
</html>
.

*Т.е. само съдържанието в този <div> да се мести. Може ли да стане без презареждане (не е задължително, просто питам) и някакво jQuery ефектче може да се добави (не е задължително).

Да изглежда така:
<< Първа 1 | 2 | 3 | 4 ... Последна >>.

Както е във форума...

Благодаря предварително!
+1
 
Не. Държа да е PHP и да е с числа отдолу, т.е. << Първа 1 | 2 | 3 | 4 ... Последна >>.
 
PHP:
							$page = mysql_query("SELECT COUNT(*) as cnt FROM `******` ORDER BY `id` DESC") or die (mysql_error());

							$rpage = mysql_fetch_array($page);
							$limit = 5;
							$max_pages = ceil($rpage['cnt']/$limit);

							if((int)$_GET['p']>0) {
							$pages = (int)$_GET['p'];
							} else {
							$pages = 0;
							}
										
							$sql_news = mysql_query("SELECT * FROM `*******` ORDER BY `id` DESC LIMIT ".($limit*$pages).",".$limit);

това е горната част преди while, for или някакъв друг цикъл

PHP:
//pagination
							$pagination = '<div class="wp-pagenavi-box">
							<div class="wp-pagenavi">';
											
							if($_GET['p'] > 0)
							{
								$pagination .= '<a href="?p=0" class="last">Първа</a>
								<a href="?p='.($_GET['p']-1).'">Назад</a> ';
							}
											
							$max_on_the_pp = 9;

							if($_GET['p'] >= 3)
							{
							$ravno = $_GET['p']-3;
							}
											
							if($_GET['p'] >= 5)
							{
							$ravno = $_GET['p']-5;
							}
													
							for($i=$ravno-0;$i<($_GET['p']+$max_on_the_pp);$i++)
							{
								if(($i+1) <= $max_pages)
								{
									if($_GET['p'] == $i)
									{
										$pagination .= '<span class="current">'.($i+1).'</span>';
									}
									else
									{
										$pagination .= '<a href="?p='.$i.'" class="page" title="'.($i+1).'">'.($i+1).'</a>';
									}
								}
							}

							echo $pagination;
											
							if($_GET['p'] != $max_pages-1 & $_GET['p'])
							{
								echo '<a href="?p='.($_GET['p']+1).'">Напред</a>
								<a href="?p='.($max_pages-1).'" class="last" title="»»">Последна</a>';
							}

							echo '</div></div>';
							?>

като $_GET['p'] това е страницата тоест в URL-to параметара P е числото на страницата

това странициране използвам аз
 
А може ли да ми го дадеш в пример с някакъв индекс да речем? Вземи примерния ми код и го сложи там, че PHP не знам...

Благодаря предварително!
 
PHP:
<?php
							$page = mysql_query("SELECT COUNT(*) as cnt FROM `****` ORDER BY `id` DESC") or die (mysql_error());

							$rpage = mysql_fetch_array($page);
							$limit = 5;
							$max_pages = ceil($rpage['cnt']/$limit);

							if((int)$_GET['p']>0) {
							$pages = (int)$_GET['p'];
							} else {
							$pages = 0;
							}
										
							$sql_news = mysql_query("SELECT * FROM `****` ORDER BY `id` DESC LIMIT ".($limit*$pages).",".$limit);
							
							while($row_n = mysql_fetch_array($sql_news))
							{							
								echo 'text';
							}
							
							//pagination
							$pagination = '<div class="wp-pagenavi-box">
							<div class="wp-pagenavi">';
											
							if($_GET['p'] > 0)
							{
								$pagination .= '<a href="?page='.$_GET['page'].'&p=0#all" class="last">Първа</a>
								<a href="?page='.$_GET['page'].'&p='.($_GET['p']-1).'#all">Назад</a> ';
							}
											
							$max_on_the_pp = 9;

							if($_GET['p'] >= 3)
							{
							$ravno = $_GET['p']-3;
							}
											
							if($_GET['p'] >= 5)
							{
							$ravno = $_GET['p']-5;
							}
													
							for($i=$ravno-0;$i<($_GET['p']+$max_on_the_pp);$i++)
							{
								if(($i+1) <= $max_pages)
								{
									if($_GET['p'] == $i)
									{
										$pagination .= '<span class="current">'.($i+1).'</span>';
									}
									else
									{
										$pagination .= '<a href="?page='.$_GET['page'].'&p='.$i.'#all" class="page" title="'.($i+1).'">'.($i+1).'</a>';
									}
								}
							}

							echo $pagination;
											
							if($_GET['p'] != $max_pages-1 & $_GET['p'])
							{
								echo '<a href="?page='.$_GET['page'].'&p='.($_GET['p']+1).'#all">Напред</a>
								<a href="?page='.$_GET['page'].'&p='.($max_pages-1).'#all" class="last" title="»»">Последна</a>';
							}

							echo '</div></div>';

ето това една моя заявка
 
А може ли малко разяснения, каква баа данни да създам и един конфиг?
 
каквато искаш база данни си създай а конфига си е нормален:

mysql_connect("host", "user", "pass");
mysql_select_db("databse_name");
 
За пореден път PHP не знам. Дава грешка, описал съм база данни и всичко... Исках да е опростено...
 
Каква грешка ти дава в базата данни или в пхп кода ? Постни кода който си сглобил
 
Каква грешка ти дава в базата данни или в пхп кода ? Постни кода който си сглобил

Дава ми грешка на еди кой си ред, че няма такова нещо в езика или нещо подобно... Аз помолих за едно тествано и готово странициране, защото ми трябва бързо. Дайте някакво от Интернет, ама го дайте, като го вградите в кода, който съм написал в първия ми пост.

Благодаря предварително!
 
ти си написал някакъв html ...... за какво вграждане искаш ти не си дал никъкъв php код , а мойто е даже и с заяквата
 
ти си написал някакъв html ...... за какво вграждане искаш ти не си дал никъкъв php код , а мойто е даже и с заяквата

Това имах предвид. Просто има един <div> който трябва да се страницира. И да сложите PHP кода, да страницира този <div>. Все още ми трябва бързо... А така не става, нито става с базата данни, нито не знам каква таблица да създам...

И сега админа ще заключи темата, защото го обърнахме на спам, и?!

Админе (или модераторе), моля те преди да я заключиш дай едно лесно странициране :D!

Благодаря предварително!
 
Правиш си база данни с име stranica и таблица в базата данни с име отново stranica , след това правиш 2 полета едното е трябва да се казва id и да бъде направен auto_increment и primary key, след това едно поле name което да е varchar сложи му 50 - 60 lenthg зависи колко дълги ще са текстовете.

Това е !

Всички текстове които искаш да бъдат странирани ще ги слагаш в полето name ... след време ако си направиш админ панел това ще ти е от полза ..

ЕТО ТИ КОДА ОТ SMOKE, малко го едитнах защото нещо ми даваше грешки при първата заявка.

PHP:
$conn = mysql_connect('localhost', 'root', 'passworda') or die ('Error connecting to mysql');
mysql_select_db('stranica');

$page = mysql_query("SELECT id FROM stranica");
$qqq = mysql_num_rows($page);



							
$rpage=$qqq;

							$limit = 5;

							$max_pages = ceil($rpage/$limit);



							if((int)$_GET['p']>0) {

							$pages = (int)$_GET['p'];

							} else {

							$pages = 0;

							}

										

							$sql_news = mysql_query("SELECT * FROM stranica ORDER BY id DESC LIMIT ".($limit*$pages).",".$limit);

							

							while($row_n = mysql_fetch_array($sql_news))

							{							

								echo $row_n['name'].'<br />';

							}

							

							//pagination

							$pagination = '<div class="wp-pagenavi-box">

							<div class="wp-pagenavi">';

											

							if($_GET['p'] > 0)

							{

								$pagination .= '<a href="?page='.$_GET['page'].'&p=0#all" class="last">Първа</a>

								<a href="?page='.$_GET['page'].'&p='.($_GET['p']-1).'#all">Назад</a> ';

							}

											

							$max_on_the_pp = 9;



							if($_GET['p'] >= 3)

							{

							$ravno = $_GET['p']-3;

							}

											

							if($_GET['p'] >= 5)

							{

							$ravno = $_GET['p']-5;

							}

													

							for($i=$ravno-0;$i<($_GET['p']+$max_on_the_pp);$i++)

							{

								if(($i+1) <= $max_pages)

								{

									if($_GET['p'] == $i)

									{

										$pagination .= '<span class="current">'.($i+1).'</span>';

									}

									else

									{

										$pagination .= '<a href="?page='.$_GET['page'].'&p='.$i.'#all" class="page" title="'.($i+1).'">'.($i+1).'</a>';

									}

								}

							}



							echo $pagination;

											

							if($_GET['p'] != $max_pages-1 & $_GET['p'])

							{

								echo '<a href="?page='.$_GET['page'].'&p='.($_GET['p']+1).'#all">Напред</a>

								<a href="?page='.$_GET['page'].'&p='.($max_pages-1).'#all" class="last" title="»»">Последна</a>';

							}



							echo '</div></div>';
 
1. stranica - Основна база данни.
1.1. stranica- Таблица от базата данни.
1.1.1 . id - Поле в таблицата. Слагаме на него auto_increment и ключ Primary.
1.1.2. name - Второ поле в таблицата. Слагаме на него обикновен ключ - index. В това поле въвеждаш цялата информация за странирането.



Тези индекси - Primary, index и т.н. може да ги намериш в " structure > Action " на таблицата.

Написах ти го това, за да не излезнат нови въпроси.
 
Хората толкова кода ти дадоха,неможеш ли да се помъчиш малко.То като ти го даде някой наготово ти няма да разбереш абсолютно нищо
 
Хората толкова кода ти дадоха,неможеш ли да се помъчиш малко.То като ти го даде някой наготово ти няма да разбереш абсолютно нищо

То и доста е писано по темата, ама явно не си се помъчил да прочетеш. Да, съгласен съм наготово - нищо не става, но вчера ми трябваше бързо. Ако не можеш да отговориш, не се пробвай... И благодарение на мнения като твоето, темата стана 2 страници и ще бъде заключена.

Не оставайте с впечатление че държа някакъв тон или че не съм балгодарен към кода който ми представихте!

Благодаря на smoke и eddyy93!
 

Back
Горе