Husan, //Настройки подключения к БД
$db_host = 'localhost';
$db_name = '111';
$db_user = '111';
$db_pass = '111';
$page = intval($_GET[page]); // значение текущей страницы из GET
$num = 2; // Переменная хранит число сообщений выводимых на станице
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'" /
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);
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
пробуй в запросе так кстати
CREATE TABLE IF NOT EXISTS `comments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`page_id` varchar(11) NOT NULL,
`name` varchar(60) NOT NULL,
`text_comment` varchar(500) NOT NULL,
`date_add` varchar(18) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
скорей всего косяк то здесь
/* Принимаем данные из формы */
$name = $_POST["name"];
$page_id = $_POST["page_id"];
$text_comment = $_POST["text_comment"];
$name = htmlspecialchars($name);// Преобразуем спецсимволы в HTML-сущности
$text_comment = htmlspecialchars($text_comment);// Преобразуем спецсимволы в HTML-сущности
$mysqli = new mysqli("localhost", "111", "111", "111"// Подключается к базе данных
$mysqli->query("INSERT INTO `comments` (`name`, `page_id`, `text_comment`) VALUES ('$name', '$page_id', '$text_comment')"// Добавляем комментарий в таблицу
header("Location: ".$_SERVER["HTTP_REFERER"]);// Делаем реридект обратно
$page_id = 150;// Уникальный идентификатор страницы (статьи или поста)
$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()) {
print_r($row); //Вывод комментариев
echo "<br />";
}
Maksamka, Для Mysqli будет так:
$mysqli->set_charset('utf8');
не знаю в чем проблема но в базу пишет одни кракозябы
У тебя в самом подключающем коде быдло идет.
там проблему решил. $result_set = $mysqli->query("SELECT * FROM `comments` WHERE `page_id`='$page_id' ` ORDER BY `id` DESC LIMIT $start,$num" здесь ошибка в чем?
кодировка должна cp1251
Добавлено 06.04.16 в 13:24:19:
у тебя крякозябры когда ты выводишь из базы?
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 это айди файла