Прочитал, вроде бы, всё сделал. Но вот мне теперь написало:
Table '35693.table' doesn't exist
Где такое прописало? У меня в той БД таблица gb есть и всё.
Вот код:
<?php
$nums = 10;
if (isset($_GET['page'])) {
$page = intval($_GET['page']);
}
else {
$page = 1;
}
$query = "SELECT COUNT(*) AS `counter`
FROM `table`";
$sql = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($sql);
$elements = $row['counter'];
$pages = ceil($elements/$nums);
if ($page < 1) {
$page = 1;
}
elseif ($page > $pages) {
$page = $pages;
}
$start = ($page-1)*$nums;
// когда у нас в таблице нет записей
if ($start < 0) $start = 0;
$query = "SELECT *
FROM `table`
LIMIT {$start}, {$nums}";
$sql = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_assoc($sql)) {
$c=0;
$r=mysql_query ("SELECT * FROM gb ORDER BY dt DESC"); // выбор всех записей из БД, отсортированных так, что самая последняя отправленная запись будет всегда первой.
while ($row=mysql_fetch_array($r)) // для каждой записи организуем вывод.
{
if ($c%2)
$col="bgcolor='#25383C'"; // цвет для четных записей
else
$col="bgcolor='#747170'"; // цвет для нечетных записей
?>
<table border="0" cellspacing="3" cellpadding="0" width="90%" <? echo $col; ?> style="margin: 10px 0px;">
<tr>
<td width="150" style="color: #FFF8C6;">Имя пользователя:</td>
<td><?php echo $row['username']; ?></td>
</tr>
<tr>
<td width="150" style="color: #FFF8C6;">Дата опубликования:</td>
<td><?php echo $row['dt']; ?></td>
</tr>
<tr>
<td colspan="2" style="color: #FFF8C6;">—————————————————————</td>
</tr>
<tr>
<td colspan="2">
<?php echo $row['msg']; ?>
<br>
</td>
</tr>
</table>
<?php
$c++;
}
if ($c==0) // если ни одной записи не встретилось
echo "Вы - первый, кто оставляет сообщение в этой гостевой книге.<br>";
}
// далее нам надо прицепить листалку
$neighbours = 6;
$left_neighbour = $page - $neighbours;
if ($left_neighbour < 1) $left_neighbour = 1;
$right_neighbour = $page + $neighbours;
if ($right_neighbour > $pages) $right_neighbour = $pages;
if ($page > 1) {
print ' <a href="?page=1">начало</a> … <a href="?page=' . ($page-1) . '">←сюда</a> ';
}
for ($i=$left_neighbour; $i<=$right_neighbour; $i++) {
if ($i != $page) {
print ' <a href="?page=' . $i . '">' . $i . '</a> ';
}
else {
// выбранная страница
print ' <b>' . $i . '</b> ';
}
}
if ($page < $pages) {
print ' <a href="?page=' . ($page+1) . '">туда→</a> … <a href="?page=' . $pages . '">конец</a> ';
}
?>
Спустя 234 сек.
Это я поправил, но у меня теперь куча дублей сообщений в гостевой книге…
Спустя 202 сек.
Аргх. Теперь порядок вывода постов не тот, какой положено.