|
|
|
| Добрый день!
В блоке вывожу 3 последние коммента из одной таблицы.
<!--Вывод comments-->
<?php
$result = mysql_query("SELECT * FROM comment_ege ORDER BY date DESC LIMIT 3", $db);
while ($comment = mysql_fetch_array($result))
{
$author = $comment["author"];
$post = $comment["post"];
$text = $comment["text"];
if (strlen($text) > 75 ) {
$text = substr($text, 0, 75).'...';
}
printf("<a href='view_post_ege.php?id=%s'><div class='comment-content2'>
<h6>%s</h6>
<p>%s</p></a>
</div>
",$post,$author,$text);
}
?>
|
Тут же - только из другой таблицы с другими ссылками
<?php
$result = mysql_query("SELECT * FROM comment_ccuz ORDER BY date DESC LIMIT 3", $db);
while ($comment = mysql_fetch_array($result))
{
$author = $comment["author"];
$post = $comment["post"];
$text = $comment["text"];
if (strlen($text) > 75 ) {
$text = substr($text, 0, 75).'...';
}
printf("<a href='post_ccuz.php?id_ccuz=%s'><div class='comment-content2'>
<h6>%s</h6>
<p>%s</p></a>
</div>
",$post,$author,$text);
}
?>
|
Как мне соединить комменты и выводить их вместе с сортировкой по дате? | |
|
|
|
|
|
|
|
для: liberty
(14.02.2013 в 09:09)
| | Если в таблицах comment_ege и comment_ccuz количество и порядок полей совпадают, то просто объедините запрос с помощью UNION ALL.
Если не совпадают, то еще нужно перечислить поля, примерно так:
SELECT *
FROM( SELECT id, date, author, text FROM comment_ege
UNION ALL
SELECT id, date, author, text FROM comment_ccuz
)t
ORDER BY date DESC
LIMIT 5
|
| |
|
|
|
|
|
|
|
для: Sfinks
(14.02.2013 в 09:20)
| | совпадают.
А как быть ссылками на страницы. Они разные.
view_post_ege.php
post_ccuz.php
|
| |
|
|
|
|
|
|
|
для: liberty
(14.02.2013 в 09:23)
| | Почему вы сохраняете коментарии в разных таблицах? | |
|
|
|
|
|
|
|
для: Jovidon
(14.02.2013 в 09:35)
| | это пламенный привет от Ж Попова | |
|
|
|
|
|
|
|
для: liberty
(14.02.2013 в 09:23)
| | Можно добавить их как доп.поле в выборку:
SELECT *
FROM( SELECT id, date, author, text, 'view_post_ege.php' as `url` FROM comment_ege
UNION ALL
SELECT id, date, author, text, 'post_ccuz.php' as `url` FROM comment_ccuz
)t
ORDER BY date DESC
LIMIT 5
|
| |
|
|
|
|
|
|
|
для: Sfinks
(14.02.2013 в 10:59)
| | > Почему вы сохраняете коментарии в разных таблицах?
хмм... А ведь правда.
А как теперь исправить ситуацию?
Ну и знать надо как-то что этот коммент относится к вузу, а тот к техникуму.
Но как? | |
|
|
|
|
|
|
|
для: liberty
(14.02.2013 в 15:27)
| | В таблицу коментарии добавте еще один сталбец url и сохраняте туда url адрес той или иной статьи. | |
|
|
|
|
|
|
|
для: Jovidon
(14.02.2013 в 15:54)
| | в таблице создал поле url (varchar,255).
Записываем туда ссылку.
если ссылка в таком виде
http://mysite.ru/post_pu.php?id_pu=
комменты выглядит так
<form action="#" method="POST" enctype="multipart/form-data" name="addcom" id="addcom" onSubmit="return false" class="sendform">
<input class="comment_name" type="text" name="author" id="author"> Ваше имя
<div class="corner20"><textarea name="text"></textarea></div>
<input name="id" type="hidden" value="<?php echo $id_pu; ?>">
<input type='hidden' name='advertisment' value='<?php echo $myrow3['title']; ?>'>
<input class="button-small" name="button" type="button" value='Отправить' onclick="doLoad(document.getElementById('addcom'))">
</form>
|
в этой форме прописываем
<input name="url" type="hidden" value="<?php echo post_pu.php; ?>">
|
верно?
далее
в файле comment.php
пишем
$text = trim($_POST['text']);
$author = trim($_POST['author']);
$id = trim($_POST['id']);
$url = trim($_POST['url']);
|
Далее записываем все в базу данных
//Если нет ошибок добавляем в базу
if($error=="no"){
$date = date("Y-m-d H:i");
$result2 = mysql_query("INSERT INTO comment_pu (post,author,text,date,url)
VALUES ('" . mysql_real_escape_string($id) . "','" . mysql_real_escape_string($author) . "','" .
mysql_real_escape_string($text) . "','$date','$url')");
//****
|
в поле url записвается вот так
post_puphp | |
|
|
|
|
|
|
|
для: liberty
(15.02.2013 в 02:58)
| | Нет.
зачем столько файлов создать.
<?php
if(@$_GET["action"] == "compose")
{
// Для ощибки;
$error = array();
// Проверяем;
if(empty($_POST["author"])) $error = "Поля имя пуст:";
if(empty($_POST["comment"])) $error = "Поля коммент пуст:";
// Если нет ошибки то продалжаем;
if(empty($error))
{
$query = "INSERT INTO comments
VALUES(0,'"
. mysql_escape_string($_POST["author"]) . "','"
. mysql_escape_string($_POST["comment"]) . "','"
. date("Y-m-d H:i") . "','"
. mysql_escape_string($_SERVER["HTTP_REFERER"]) . "')";
$result = mysql_query($query) or die("Ощибка: " . mysql_error());
if($result) echo 'Ваш коммент успешно добавлен!';
}
else
{
foreach($error as $err)
{
echo '<span>' . $err . '</span>';
}
}
}
else
{
?>
<form action="&action=compose" method="POST">
Имя: <input type="text" name="author" maxlenght="20" />
Коммент: <textarea cols="15" name="comment" rows="10" maxlenght="500"></textarea>
<input type="submit" value="Комментировать" />
</form>
<?php
}
?>
|
| |
|
|
|
|
|
|
|
для: Jovidon
(15.02.2013 в 11:43)
| | пока не совсем понятно как сделать первый шаг.
как вытащить ссылку url ? | |
|
|
|