|
|
|
| в общем есть скриптец добавления и редактирования статьи, в него входят следующие файлы.
addnew.php - скрипт с формой для создания и записи новых статей;
add.php - обработчик предыдущего скрипта;
cms.sql - соответственно база данных для работы всего этого действа;
select_redact.php - скрипт производящий выборку из БД и выводящий на экран ссылки на статьи;
redact.php - непосредственно скрипт обработчик предыдущего скрипта;
addnew.php
<?php
$refresh = "<input type=reset value=Отменить>";
?>
<form action="add.php" method="post">
<table cellspacing="0" cellpading="0" border="1" bordercolor="000000" width="400">
<tr><td>
<table cellspacing="0" cellpading="0" border="0">
<tr><td>
Название статьи:
</td>
<td>
<textarea ROWS=2 COLS=40 name="name_new"></textarea>
</td></tr>
<tr><td>
Предварительная область статьи:
</td>
<td>
<textarea ROWS=7 COLS=40 name="pred_new"></textarea>
</td></tr>
<tr><td>
Полная статья:
</td>
<td>
<textarea ROWS=10 COLS=40 name="all_new"></textarea>
</td></tr>
<tr><td>
<input type="submit" value="Отправить">
</td>
<td>
<?php
echo "$refresh";
?>
</td></tr>
</table>
</form></td>
</tr>
</table>
|
add.php
<?
include "config.php";
$pred_new = nl2br($pred_new);
$all_new = nl2br($all_new);
$query = "INSERT INTO cms VALUES (NULL,'$name_new','$pred_new','$all_new','NULL',NOW())";
if(!mysql_query($query))
{
exit("Ошибка - ".mysql_error());
}
header("location:http://localhost/cms/select_redact.php");
?>
|
cms.sql
CREATE TABLE 'cms' (
'id_news' INT NOT NULL AUTO_INCREMENT ,
'name_new' TINYTEXT,
'pred_new' TINYTEXT,
'all_new' TINYTEXT,
'comment' TINYTEXT DEFAULT NULL,
'time' DATETIME DEFAULT NULL ,
PRIMARY KEY (id_news)
) TYPE = MYISAM;
|
select_redact.php
<?php
include 'config.php';
$query = "SELECT * FROM cms ORDER BY id_news DESC";
$ath = @mysql_query($query);
if($ath)
{
while($news = mysql_fetch_array($ath)) {
$id_news=$news['id_news'];
echo $news['id_news'];
echo ("<br />");
echo "[<a href=redact.php?id_news=$id_news>";
echo $news['name_new'];
echo ("</a>]");
echo ("<br />");
}
}
?>
|
redact.php
<?php
include 'config.php';
$query = "SELECT * FROM cms WHERE id_news='".$_GET['id_news']."'";
$ath = @mysql_query($query);
$t1 = "<table cellspacing=0 cellpading=0 border=1 bordercolor=000000 width=400><tr><td><table cellspacing=0 cellpading=0 border=0>";
$t2 = "</td></tr><tr><td>";
$t3 = "</td></tr></table></td></tr></table>";
if($ath)
{
echo ("$t1");
echo "№";
echo $ath['id_news'];
echo ("<textarea ROWS=2 COLS=40 name=name_new>");
echo $ath['name_new'];
echo ("</textarea>");
echo ("<br />");
echo $ath['time'];
echo ("$t2");
echo ("<textarea ROWS=5 COLS=40 name=pred_new>");
echo $ath['pred_new'];
echo ("</textarea>");
echo ("$t2");
echo ("<textarea ROWS=10 COLS=40 name=all_new>");
echo $ath['all_new'];
echo ("</textarea>");
echo ("$t2");
echo ("<textarea ROWS=10 COLS=40 name=comment>");
echo $ath['comment'];
echo ("</textarea>");
}
else
{
echo "<p><b>Error: ".mysql_error()."</b></p>";
exit();
}
?>
|
| |
|
|
|
|
|
|
|
для: 10100100
(10.11.2005 в 09:44)
| | Эту проблему я решил, нужно было просто сделать в redact.php ввод циклом!
А вот подскажите как можно организовать вывод комментариев чтобы было удобно читать и редактировать админу?
и как сделать так чтобы если комментов нет к статье в форму не выводилось значение NULL? | |
|
|
|
|
|
|
|
для: 10100100
(10.11.2005 в 09:46)
| | Я например делаю так: вывожу как обычно комменты на страницу и идёт проверка если я админ то появляется специальная кнопка "редактировать" возле каждого комента. Затем если нажать на неё появляется скрытый <textarea></textarea> куда без перезагрузки всей страницы подгружается только текст комента который можно отредактировать и сохранить тут же, не отходя о кассы.
> и как сделать так чтобы если комментов нет к статье в форму не выводилось значение NULL?
Сделайте значение по умолчанию например:
<textarea><?=empty($comment) ? '' : $comment?></textarea>
|
| |
|
|
|
|
|
|
|
для: Axxil
(10.11.2005 в 10:36)
| | угу - понял - спасибо... а как у вас распологается сама ветка этих самых комментов? можете ссылку дать? | |
|
|
|