Дипломник | Вот код -
PHP код: $chislo = 5; // ЧИСЛО СООБЩЕНИЙ НА СТРАНИЦЕ
// ДЛЯ УДОБСТВА ОБОЗНАЧИМ ПЕРЕМЕННУЮ С ТЕКСТОМ ОШИБКИ
$text_error = '<br />Ошибочка вышла!';
// СОЕДЕНИМСЯ С MySQL
$connect = mysql_connect ($server, $user, $pass);
if (!$connect) {
echo $text_error;
exit;
}
// СОЕДЕНИЯЕМСЯ С БАЗОЙ ДАННЫХ
$select = mysql_select_db($db);
if (!$select) {
echo $text_error;
exit;
}
// СОЗДАЁМ ЗАПРОС
$result = mysql_query("SELECT * from $table ORDER by id desc");
// СЧИТАЕМ КОЛЛИЧЕСТВО ЗАПИСЕЙ В ТАБЛИЦЕ - У МЕНЯ ИХ 20
$num_rows = mysql_num_rows($result);
// А ТЕПЕРЬ СЧИТАЕМ НА СКОЛЬКО СТРАНИЦ НАМ РАЗБИТЬ ЗАПИСИ И ВЫДЕЛЯЕМ ЦЕЛОЕ ЧИСЛО
$num_rows = round($num_rows/$chislo); // 20 ДЕЛИМ НА 5. СКОЛЬКО? :)
// ЗДЕСЬ МЫ ПРОВЕРЯЕМ НА КАКОЙ СТРАНИЦЕ СЕЙЧАС ПОЛЬЗОВАТЕЛЬ
if (isset($_GET['str'])) {
$nav = $_GET['str'];
}
else {
$nav = 0;
}
$nav = intval($nav); // ДЛЯ ЗАЩИТЫ ОТ НЕХОРОШИХ ДЯДЕНЕК МЫ ВЫДЕЛИМ ЦЕЛУЮ ЧАСТЬ $GET['str']
// НАЧИНАЕМ ВЫВОДИТЬ САМУ ИНФОРМАЦИЮ ПОСТРАНИЧНО :)
if (!isset($_GET['str'])) {
$str = 0;
}
else {
$str = $_GET['str']*$chislo - $chislo;
}
$nomer = $str + 5;
// ФОРМИРУЕМ ЗАПРОС НУЖНОЙ НАМ ЧАСТИ ИНФОРМАЦИИ
$result = mysql_query("SELECT * from $table ORDER by id asc limit $str, $nomer");
// ИНАЧЕ ВЫВОДИМ ОШИБКУ
if (!$result) {
echo $text_error;
exit;
}
echo '<div style="width: 40%;">';
while ($row = mysql_fetch_array($result)) {
printf ("<table align='center' class='lozungi'>
<tr>
<td class='name'>%s</td>
</tr>
<tr>
<td class='yach'>%s</td>
</tr>
</table>", $row["name"], $row["text"]);
}
echo '</div>';
?>
<div id="nav">
<?php
echo 'Навигация: ';
// А ТЕПЕРЬ ВЫВОДИМ НОМЕРА СТРАНЦ
for ($i=1; $i<$num_rows; $i++) {
if ($i != $nav) {
echo '<a href="'.$PHP_SELF.'?str='.$i.'">'.$i.'</a> ';
}
else {
// АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ
echo '<span>'.$i.'</span> ';
}
}
echo '<hr />'; // ОТДЕЛИМ НАВИГАЦЮ ОТ КОНТЕНТА ДЛЯ НАГЛЯДНОСТИ
mysql_close($connect);
echo 'Навигация: ';
?>
</div>
на первой странице выводит 5, как нужно, а на остальных хаос, то по 7, то по 8, то по 10 |