[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Разбиение на страници при выводе
Andruhaphp
У меня при выборе страны,города,категории выводиться список пользователей из базы
Как сделать так что бы выводилось по 10 штук например на страницу а внизу под ними были номера,и можно было переходить на другую,грубо говоря разбивало по 10 штук на страницу
например
1юзер
2юзер
3юзер
4юзер
5юзер
6юзер
7юзер
8юзер
9юзер
10юзер

1 страница/2/3/4/5/
При клике на 2-ю выводилось след 10 юзеров,на 3-ю следд и так далее



Спустя 1 минута, 38 секунд (21.02.2011 - 22:17) quickxyan написал(а):
почитай на ирбисе про пагинацию

Спустя 2 минуты, 10 секунд (21.02.2011 - 22:19) Andruhaphp написал(а):
спасибо

Спустя 8 минут, 50 секунд (21.02.2011 - 22:28) Andruhaphp написал(а):
ух блин сложновато-то как-то

Спустя 3 минуты, 2 секунды (21.02.2011 - 22:31) Andruhaphp написал(а):
как же это все переделать под мой код sad.gif

Спустя 1 минута, 25 секунд (21.02.2011 - 22:32) quickxyan написал(а):
а вообще если коротко, то берем количество записей и делим число выводимых записей на странице. например всего 105 записей, а на страницу выводим по 10. 105/10 = 10.5
округляем и выходит 11 страниц.


$all = 105;
$str = 10;
if(isset($_GET['page']))
{
$current = $_GET['page'];
}
else $current = 1;

$pages = round($all/$str);
$s = $str*$current;
for($i = 0; $i < $pages; $i++)
{
echo '<a href=form.php?page="'.$s+$i.'">++$i</a>
}




что, то вроде того, хотя могу где то ошибится

Спустя 4 минуты, 1 секунда (21.02.2011 - 22:36) Andruhaphp написал(а):
а можно коментарии к коду,не хочу копировать а хочу разобраться???если не сложно канеш

Спустя 9 минут, 26 секунд (21.02.2011 - 22:46) quickxyan написал(а):

$all = 105; //количество всех записей
$str = 10; //количество выводимых записей на страницу
if(isset($_GET['page'])) //если есть гет-переменная page, то она будет текущей страницей
{
$current = $_GET['page'];
}
else $current = 1; //если гет-переменной нет, то текущей будет первая

$pages = round($all/$str); //получаем целое число наших страниц
if($current > 1) $s = $str*($current-1);
else $s = $currnet; //получаем начальную запись на странице
for($i = 0; $i < $pages; $i++)
{
echo '<a href=form.php?page="'.$s+$i.'">++$i</a> | '; //делаем ссылки
}


p.s. немного поправил код

Спустя 1 минута, 49 секунд (21.02.2011 - 22:47) Andruhaphp написал(а):
$s = $currnet; //получаем начальную запись на странице
это что имееться ввиду?

Спустя 3 минуты, 13 секунд (21.02.2011 - 22:51) Andruhaphp написал(а):
ну вот мой код вывода,честно так и не понял как сюд привязать пагинацию
<?php
include ("bd.php");
echo "<form name=my_form method='post' action='search.php'>";
echo "<select class='input' type=text name=country>";
$res = mysql_query("SELECT DISTINCT name, id FROM `country` ");
echo "<option value='' disabled selected='selected'>Выберите страну</option>";
while($row = mysql_fetch_assoc($res))
{
echo '<option value="'. $row['id'] .'">'. $row['name'] .'</option>';
}

echo "</select>";
echo "<select class='input' type=text name=city>";
$res_1 = mysql_query("SELECT DISTINCT name, id FROM `city` ORDER BY `id` ");
echo "<option value='' disabled selected='selected'>Выберите город</option>";
while($row_1 = mysql_fetch_assoc($res_1))
{
echo '<option value="'. $row_1['id'] .'">'. $row_1['name'] .'</option>';
}
echo "</select>";

echo "<select class='input' type=text name=product>";
$res_2 = mysql_query("SELECT DISTINCT name, id FROM `product` ORDER BY `id` ");
echo "<option value='' disabled selected='selected'>Выберите категорию</option>";
while($row_2 = mysql_fetch_assoc($res_2))
{
echo '<option value="'. $row_2['id'] .'">'. $row_2['name'] .'</option>';
}
echo "</select><input type='submit' name='usershow' value='показать'></form></div>";

if (isset($_POST['country'], $_POST['city'], $_POST['product']))
{
$where = ' WHERE 1';

if (!empty($_POST['country']))
$where .= " AND `country`='" . mysql_real_escape_string($_POST['country']) . "'";

if (!empty($_POST['city']))
$where .= " AND `city`='" . mysql_real_escape_string($_POST['city']) . "'";

if (!empty($_POST['product']))
$where .= " AND `product`='" . mysql_real_escape_string($_POST['product']) . "'";
$where.=" ORDER BY `login` ASC";
$query = 'SELECT `login` FROM `users`' . $where;
$res = mysql_query($query, $db) or die(mysql_error());

while($user = mysql_fetch_assoc($res))
{
$ids=$user['id'];
echo "<a href='page.php?id={$ids}'>".$user['login'] ."</a>".'<br />';
}
}


?>

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.