Вывод страниц на php с поддержкой mysql
Вывод страниц на php с поддержкой mysql
Делаем вывод количества страниц на php с помощью данных БД.

В коде надо поменять переменные запросов mysql и можно настроить вывод страниц.
<?

$pages=100;

$p=intval($_GET[p]);
if ($p=="") {$p=1;}
$p=str_replace("-","", $p);
$p=str_replace("+","", $p);

$num = $p==1?0:($p-1)*$pages;

$check = mysql_result( mysql_query ("SELECT count(`id`) AS `ch` FROM `таблица`" ), "`ch`");

$pl=$check/$pages;
settype($pl, "integer");

$take1 = mysql_query("SELECT * FROM введите название столбца ORDER BY id DESC LIMIT $num, $pages");
while ($take = mysql_fetch_assoc($take1)) {

}
$xpage=$pl+1;
$nums = $xpage;
$i = 0;
while($i != $nums)
{
$i++;
print"<a href=file.php?s=$i class="button button-blue"><span>$i</span></a>";
}

?>

Далее открываем файл стилей .css и вставляем в самом низу код:
.button
{
    margin: 10px;
    text-decoration: none;
    font: bold 1.5em 'Trebuchet MS',Arial, Helvetica; /*Change the em value to scale the button*/
    display: inline-block;
    text-align: center;
    color: #fff;

    border: 1px solid #9c9c9c; /* Fallback style */
    border: 1px solid rgba(0, 0, 0, 0.3);            

    text-shadow: 0 1px 0 rgba(0,0,0,0.4);

    box-shadow: 0 0 .05em rgba(0,0,0,0.4);
    -moz-box-shadow: 0 0 .05em rgba(0,0,0,0.4);
    -webkit-box-shadow: 0 0 .05em rgba(0,0,0,0.4);

}

.button, .button span
{
    -moz-border-radius: .3em;
    border-radius: .3em;
}

.button span
{
    border-top: 1px solid #fff; /* Fallback style */
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    display: block;
    padding: 0.5em 2.5em;

    /* The background pattern */

    background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.25, rgba(0, 0, 0, 0.05)), color-stop(.25, transparent), to(transparent)),
                      -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(0, 0, 0, 0.05)), color-stop(.25, transparent), to(transparent)),
                      -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.75, transparent), color-stop(.75, rgba(0, 0, 0, 0.05))),
                      -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.75, transparent), color-stop(.75, rgba(0, 0, 0, 0.05)));
    background-image: -moz-linear-gradient(45deg, rgba(0, 0, 0, 0.05) 25%, transparent 25%, transparent),
                      -moz-linear-gradient(-45deg, rgba(0, 0, 0, 0.05) 25%, transparent 25%, transparent),
                      -moz-linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.05) 75%),
                      -moz-linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.05) 75%);

    /* Pattern settings */

    -moz-background-size: 3px 3px;
    -webkit-background-size: 3px 3px;
}

.button:hover
{
    box-shadow: 0 0 .1em rgba(0,0,0,0.4);
    -moz-box-shadow: 0 0 .1em rgba(0,0,0,0.4);
    -webkit-box-shadow: 0 0 .1em rgba(0,0,0,0.4);
}

.button:active
{
    /* When pressed, move it down 1px */
    position: relative;
    top: 1px;
}

.button-blue
{
    background: #4477a1;
    background: -webkit-gradient(linear, left top, left bottom, from(#81a8cb), to(#4477a1) );
    background: -moz-linear-gradient(-90deg, #81a8cb, #4477a1);
    filter:  progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#81a8cb', endColorstr='#4477a1');
}

.button-blue:hover
{
    background: #81a8cb;
    background: -webkit-gradient(linear, left top, left bottom, from(#4477a1), to(#81a8cb) );
    background: -moz-linear-gradient(-90deg, #4477a1, #81a8cb);
    filter:  progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4477a1', endColorstr='#81a8cb');
}

.button-blue:active
{
    background: #4477a1;
}

Понравилась статья? Кинь копейку: R281874844448


Рубрика: Информация » Программирование   |   Автор: ByFly   |   Просмотры: 3757
Комментариев: 95
Публикаций: 2
ICQ: 656527
- 355 +
  Автор: NGS   |   Группа: NGS Engine   |   Дата: 18 июня 2011  
В код неверный!!!!!!!!! будут ситуации, когда будет показываться 1 лишняя кнопка со страницей!

$check1=mysql_query("SELECT id FROM введите название столбца");
$check=mysql_num_rows($check1);


Не кошерно!!!!! нужно так:

$check = mysql_result( mysql_query ("SELECT count(`id`) AS `ch` FROM `таблица`" ), "`ch`");


----------------------------------------------------------
while ($take = mysql_fetch_array($take1)) {

mysql_fetch_array нужно заменить на mysql_fetch_assoc
Комментариев: 75
Публикаций: 5
ICQ: 693161787
- 43 +
  Автор: ByFly   |   Группа: V.I.P.   |   Дата: 18 июня 2011  
ну дак так и должно!

спс за доработку! =)
Комментариев: 65
Публикаций: 0
ICQ: --
- 108 +
  Автор: Renaissance   |   Группа: Пользователи   |   Дата: 18 июня 2011  
А можно немного описания, а то не очень понятно smile
Комментариев: 77
Публикаций: 2
ICQ: 50406060
- 191 +
  Автор: Contego   |   Группа: Пользователи   |   Дата: 18 июня 2011  
Цитата: Renaissance
А можно немного описания, а то не очень понятно smile

а можно немного поподробей, что не ясно?
Комментариев: 75
Публикаций: 5
ICQ: 693161787
- 43 +
  Автор: ByFly   |   Группа: V.I.P.   |   Дата: 18 июня 2011  
Короче задаются параметры количества отображения на странице, например 100. Далее делается запрос в БД в столбец с данными и делятся на 100 для определения количества страниц. Ну и далее вывод этой информации из БД со страницами.
Комментариев: 65
Публикаций: 0
ICQ: --
- 108 +
  Автор: Renaissance   |   Группа: Пользователи   |   Дата: 18 июня 2011  
ByFly,

Ясно, спасибо
Комментариев: 64
Публикаций: 1
ICQ: 620033703
- 129 +
  Автор: Zloebun   |   Группа: Пользователи   |   Дата: 20 июня 2011  
Чёт вот я вообще понять не могу нафига оно надо ? fellow
Комментариев: 75
Публикаций: 5
ICQ: 693161787
- 43 +
  Автор: ByFly   |   Группа: V.I.P.   |   Дата: 20 июня 2011  
Хаххахах. Допустим у тебя сайт-блог где вы публикуете много статей. Вы будете выводить все статьи на страницу? Больше 30 статей на страницу уже неприятно читать!
Комментариев: 64
Публикаций: 1
ICQ: 620033703
- 129 +
  Автор: Zloebun   |   Группа: Пользователи   |   Дата: 20 июня 2011  
Ну и дальше ??????
Комментариев: 75
Публикаций: 5
ICQ: 693161787
- 43 +
  Автор: ByFly   |   Группа: V.I.P.   |   Дата: 20 июня 2011  
??????????
Комментариев: 121
Публикаций: 2
ICQ: 819374
- 118 +
  Автор: Rufus   |   Группа: Программисты   |   Дата: 27 июня 2011  
Хм... Алекс, посмотри мой код навигации, ну или кто писал эту стать. Я скоро у себя выложу навигацию, через недельку где-то, как бакалавра сдам. Она по истине полезна, проста и без шибок)
Комментариев: 7
Публикаций: 1
ICQ: --
- 5 +
  Автор: jokerwmz   |   Группа: Пользователи   |   Дата: 27 октября 2011  
Цитата: Rufus
<?

$pages=100;

$p=intval($_GET[p]);
if ($p=="") {$p=1;}
$p=str_replace("-","", $p);
$p=str_replace("+","", $p);

$num = $p==1?0:($p-1)*$pages;

$check = mysql_result( mysql_query ("SELECT count(`id`) AS `ch` FROM `таблица`" ), "`ch`");

$pl=$check/$pages;
settype($pl, "integer");

$take1 = mysql_query("SELECT * FROM введите название столбца ORDER BY id DESC LIMIT $num, $pages");
while ($take = mysql_fetch_assoc($take1)) {

}
$xpage=$pl+1;
$nums = $xpage;
$i = 0;
while($i != $nums)
{
$i++;
print"<a href=file.php?s=$i class="button button-blue"><span>$i</span></a>";
}

?>

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.