<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

В начале курса у нас будет только идея, а в конце готовый продукт, который можно использовать в практических целях.

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Комментирование
02.07.2013 14:55:53 Комментирование Сообщение #1
Eks1g1

Eks1g1

Новичок

Новичок

Дата регистрации:
21.06.2013 22:09:54

Сообщений: 9

Добрый день Михал. Скажите пожалуйста как возможно реализовать ответ на комментарий ? я настроил систему комментирования через php и mysql.
Профиль Ответить
02.07.2013 15:17:57 Комментирование Сообщение #2
ilyadenisovid

ilyadenisovid

Мастер

Мастер

Дата регистрации:
28.01.2013 18:32:29

Сообщений: 213

Добавить в таблицу еще одно поле, которое будет отвечать за id комментария на который ответили, по умолчанию 0 - то есть обычный комментарий. Например, комментарий с id = 5, под ним выводим все комментарии со значением поля = 5.
Профиль Ответить
02.07.2013 16:14:41 Комментирование Сообщение #3
Eks1g1

Eks1g1

Новичок

Новичок

Дата регистрации:
21.06.2013 22:09:54

Сообщений: 9

Честно говоря. не могу понять что нужно сделать вот есть такой код:
index.php

<?php

session_start();

if (isset($_SESSION['name'])) $name = $_SESSION['name'];

$post_id = 333;

$mysqli = new mysqli("localhost", "root", "", "mybase";

$mysqli->query("SET NAMES 'UTF-8'";

$result_set = $mysqli->query("SELECT * FROM `lesson` WHERE `post_id` = '$post_id'";

while ($row = $result_set->fetch_assoc()) {

?>

<div id = "comment">

<div id = "name">Автор: <?=$row['name']?></div>

<div id = "text">Комментарий: <?=$row['text']?></div>

<div id = "date">Дата: <?=date("Y-m-d H:i:s", $row['date'])?></div>

</div>

<hr />

<?php

}

if (isset($_SESSION['yes']) && $_SESSION['yes'] == 1)

echo '<h3 style = "color: green;">Ваш комментарий успешно добавлен!</h3>';

elseif (isset($_SESSION['no']) && $_SESSION['no'] == 1)

echo '<h3 style = "color: red;">Ошибка!!! Ваш комментарий не добавлен!</h3>';

?>
<form action = "comments.php" method = "post">

<p>

<label>

Имя:<br />

<input type = "text" name = "name" value = "<?=$name?>" />

</label>

</p>

<p>

<label>

Комментарий:<br />

<textarea name = "text" style = "width: 75%;"></textarea>

</label>

</p>

<p>

<input type = "hidden" name = "post_id" value = "333" />

<input type = "submit" value = "Добавить комментарий" />

</p>

</form>

и вот такой:
comments.php

<?php

session_start();

$post_id = intval($_POST["post_id"]);

$name = $_POST["name"];

$text = $_POST["text"];

$name = htmlspecialchars($name);

$text = htmlspecialchars($text);

$mysqli = new mysqli("localhost", "root", "", "mybase";

$mysqli->query("SET NAMES 'UTF-8'";

$add = $mysqli->query("INSERT INTO `lesson` (`name`, `post_id`, `text`, `date`) VALUES ('$name', '$post_id', '$text', UNIX_TIMESTAMP())";

if ($add) {

$_SESSION['yes'] = 1;

$_SESSION['name'] = $name;

}

else $_SESSION['no'] = 1;

header("Location: ".$_SERVER["HTTP_REFERER"]);

?>
Профиль Ответить
02.07.2013 17:51:42 Комментирование Сообщение #4
ilyadenisovid

ilyadenisovid

Мастер

Мастер

Дата регистрации:
28.01.2013 18:32:29

Сообщений: 213

Нужно создать еще одно поле, например, to, и также добавлять его в таблицу, если это обычный комментарий, то он равен = 0, если же это ответ, то он равен id комментария на который отвечают. Вот пример, как у Вас.

<form>
......
<input type = "hidden" name = "to" value = "id комментария, на который дают ответ" />
......
</form>
if(!$to) $to = 0;
else $to = $_POST["to"];
$add = $mysqli->query("INSERT INTO `lesson` (`name`, `post_id`, `text`, `date`, `to`) VALUES ('$name', '$post_id', '$text', UNIX_TIMESTAMP(), '$to')";


А выводим так

$comments = все комментарии;
for($i = 0;$i < count($comments);$i++) {
код основного комментария
$id = $comments[$i]["id"];
$answers = answers(id страницы, id коммента);
for($j = 0; $j < count($answers);$j++) {
код ответа;
}
}


и функция вывода ответов

function answers($post, $id) {
подключение к базе;
$result = $mysqli->query("SELECT * FROM `comments` WHERE `post` = '$post' AND `to` = '$id'";
закрытие соединения;
return resultToArray($result);
}

Что-то типа такого, но это только пример, подставьте свои значения и так далее.
Профиль Ответить
02.07.2013 23:10:58 Комментирование Сообщение #5
Eks1g1

Eks1g1

Новичок

Новичок

Дата регистрации:
21.06.2013 22:09:54

Сообщений: 9

Спасибо вам большое
Профиль Ответить