|
|
|
| Нужна помощь.
1. Допустим на сайте есть три раздела: новости, статьи, галерея. Сначала были добавлены 3 статьи и 4 картинки. Заходим в админпанель, выбирем вкладку новости. В самом верху раздела выводяться последнии добавления на сайт с ссылками наних. При нажатии на ссылку добавление вставляется в <textarea>. Вопрос: Как сделать так, чтобы после отправки новости на сервер проверялось, что данное добавление добавилось в новость, если это так, то при повторном заходе в раздел администрирования новостями это раздела не было в списке последних добавлений, а если нет, то вообще не отправлять сообщения (сюда так же включено изменение кода ссылки, то есть, если ссылка в сообщении, не соответствует ни одной из ссылок последнего добавления, то отправка терпит не удачу, и т.п.)?
2. Как сделать BBCode, такого плана: в БД последних добавлений есть два Столбца: ID, lastaddlink, (ID и ссылка последнего добавления соответсвенно). Так вот при нажатии на ссылку с последним добавлением в администрировании новостей добавлялся BBCode [LAST$ID], где $ID - ID последнего добавления. Так вот, при проверки BBCode's [LAST$ID] он заменялся на соответсвующию ссылку из БД.
Заранее благодарен. | |
|
|
|
|
|
|
|
для: Sc
(28.12.2006 в 10:46)
| | 1. Чего-то не понято
2. У вас JavaScript-часть вызывает затруднение или замена на ссылку? | |
|
|
|
|
|
|
|
для: cheops
(28.12.2006 в 14:17)
| | 1. Допустим было добавлено 2 фотографии (фотография 1 и фотографи2). Я захожу в панель администрирования, выбираю вкладку новости, далее добавить. На странице добавления новости есть блок, в котором высвечиваются последнии добавления:
Последние добавления:
Фотография 1
Фотография 2
При нажатии на "Фотография 2" в <textarea> добавилась надпись - [LINK2]. После выполняется подача запроса. Если зайти на страницу ленты новостей, то там увидим ссылку, например, http://mysite/gall/photo.php?id=2. Если, уже после проделанных действий мы стова зайдем в админпанель->новости->добавить, в блоке последних добавлений будет следущее:
Последние добавления:
Фотография 1
Если нажать на "Фотография 1", то будут происходить аналогичные действия, что и при нажатии на "Фотография 2", только теперь добавитьяс [LINK1], и ссылка http://mysite/gall/photo.php?id=1, соответсвенно.
2. Затруднение вызвало замена на ссылку, то есть, как автоматически порядковое число, точнее ID добавления, заменить на соответсвующиу ему ссылку, хранящуюся в БД. | |
|
|
|
|
|
|
|
для: Sc
(28.12.2006 в 16:10)
| | 1) В тексте новости сслыка будет храниться как [LINK2]? Приведите структуру таблицы - как называется поле, где хранится [LINK2]? И как формируется тэг [LINK2]? Цифра всегда уникальна? | |
|
|
|
|
|
|
|
для: cheops
(28.12.2006 в 17:50)
| | >1) В тексте новости сслыка будет храниться как [LINK2]? Приведите структуру таблицы - как называется поле, где хранится [LINK2]? И как формируется тэг [LINK2]? Цифра всегда уникальна?
Да, цифра всегда уникальна, она соответсвует ID последнего добавления из таблици. | |
|
|
|
|
|
|
|
для: Sc
(28.12.2006 в 16:10)
| | 2. Можно поступить следующим образом
<?php
$text = "добавлялся BBCode [LAST3], где $ID - ID последнего добавления";
$pattern = "#\[last([\d}]+)\]#isU";
$text = preg_replace_callback($pattern,"replace_text",$text);
echo $text;
// функция обратного вызова
function replace_text($matches)
{
// $matches[1] - это ID сообщения
$query = "SELECT * FROM tbl WHERE id = ".$matches[1];
$tbl = mysql_query($query);
if(!$tbl) exit(mysql_error());
$table = mysql_fetch_array($tbl);
return "<a href=".$table['url'].">".$table['url']."</a>";
}
?>
|
| |
|
|
|