Husan, еще такой вопрос у меня навигация считает общее количество сбс и выводит а мне нужно для каждого ид отдельно . Я в бд подаю page_id это иди файла к нему идут коменты. С сообщениями я сделал вывод для каждого файла а вот страницы нет. Там два запроса поправить глянешь?
<?
$page_id = 10;// Уникальный идентификатор страницы (статьи или поста)
$mysqli = new mysqli("localhost", "111", "111", "111"
;// Подключается к базе данных
$result_set = $mysqli->query("SELECT * FROM `comments` WHERE `page_id`='$page_id'"
; //Вытаскиваем все комментарии для данной страницы
while ($row = $result_set->fetch_assoc()) {
}
$db_host = 'localhost';
$db_name = '111';
$db_user = '111';
$db_pass = '111';
$page = intval($_GET[page]); // значение текущей страницы из GET
$num = 1; // Переменная хранит число сообщений выводимых на станице
if ($page==0) $page=1;
// Определяем общее число сообщений в базе данных
// Берем из БД кол-во записей
mysql_connect($db_host,$db_user,$db_pass) OR DIE("Error connect to SQL<br/> "
; // коннект к БД, указать хост, лог и пасс
Удалён src="/content/reactions/bystrie/podmig-original.png" alt="*" /> or die("Error connect to DB<br/>"
;
mysql_query ("set character_set_client='utf8'"
; // установка кодировки ( возможно у вас cp1251)
mysql_query ("set character_set_results='utf8'"
;
mysql_query ("set collation_connection='utf8_general_ci'"
;
$query = "SELECT count(`id`) FROM `comments`";
$mysql_result = mysql_query($query);
if(mysql_num_rows($mysql_result)>0){
$count=mysql_fetch_row($mysql_result);
}
$posts = $count[0]; // получем значение кол-во всех записей
// Находим общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;
$result_set = $mysqli->query("SELECT * FROM `comments` WHERE `page_id`='$page_id' ORDER BY `id` DESC LIMIT $start,$num"
;
while ($row = $result_set->fetch_assoc())
{
echo ' <b>Гость:</b> '.$row['name'].' <br /><b>Сообщение:</b> '.$row['text_comment'].'<br />';
echo'<br>';
}
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href="/index.php?page=-1"><<</a>
<a href="/index.php?page='. ($page - 1).'"><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href="/index.php?page='. ($page + 1).'">></a>
<a href="/index.php?page='.$total.'">>></a> ';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href="/index.php?page='. ($page - 2) .'">'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href="/index.php?page='. ($page - 1) .'">'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = ' <a href="/index.php?page='. ($page + 2).'">'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' <a href="/index.php?page='. ($page + 1).'">'. ($page + 1) .'</a>';
$query = "SELECT * FROM `comments` LIMIT $start, $num";
$mysql_result = mysql_query($query);
if ($total>1) echo '<p><div align="center" class="navigation">'
.$pervpage.$page2left.$page1left.'<span>'.$page.'</span>'.$page1right.$page2right
.$nextpage.'</div></p>';
?>
Я так понимаю
$query = "SELECT * FROM `comments` LIMIT $start, $num";
$mysql_result = mysql_query($query);
и
$query = "SELECT count(`id`) FROM `comments`";
$mysql_result = mysql_query($query);
Нужно что бы навигация считала именно с page_id это айди файла