Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Лента новостей
 
 автор: Sc   (28.12.2006 в 10:46)   письмо автору
 
 

Нужна помощь.
1. Допустим на сайте есть три раздела: новости, статьи, галерея. Сначала были добавлены 3 статьи и 4 картинки. Заходим в админпанель, выбирем вкладку новости. В самом верху раздела выводяться последнии добавления на сайт с ссылками наних. При нажатии на ссылку добавление вставляется в <textarea>. Вопрос: Как сделать так, чтобы после отправки новости на сервер проверялось, что данное добавление добавилось в новость, если это так, то при повторном заходе в раздел администрирования новостями это раздела не было в списке последних добавлений, а если нет, то вообще не отправлять сообщения (сюда так же включено изменение кода ссылки, то есть, если ссылка в сообщении, не соответствует ни одной из ссылок последнего добавления, то отправка терпит не удачу, и т.п.)?
2. Как сделать BBCode, такого плана: в БД последних добавлений есть два Столбца: ID, lastaddlink, (ID и ссылка последнего добавления соответсвенно). Так вот при нажатии на ссылку с последним добавлением в администрировании новостей добавлялся BBCode [LAST$ID], где $ID - ID последнего добавления. Так вот, при проверки BBCode's [LAST$ID] он заменялся на соответсвующию ссылку из БД.

Заранее благодарен.

   
 
 автор: cheops   (28.12.2006 в 14:17)   письмо автору
 
   для: Sc   (28.12.2006 в 10:46)
 

1. Чего-то не понято
2. У вас JavaScript-часть вызывает затруднение или замена на ссылку?

   
 
 автор: Sc   (28.12.2006 в 16:10)   письмо автору
 
   для: 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 добавления, заменить на соответсвующиу ему ссылку, хранящуюся в БД.

   
 
 автор: cheops   (28.12.2006 в 17:50)   письмо автору
 
   для: Sc   (28.12.2006 в 16:10)
 

1) В тексте новости сслыка будет храниться как [LINK2]? Приведите структуру таблицы - как называется поле, где хранится [LINK2]? И как формируется тэг [LINK2]? Цифра всегда уникальна?

   
 
 автор: Sc   (28.12.2006 в 18:22)   письмо автору
 
   для: cheops   (28.12.2006 в 17:50)
 

>1) В тексте новости сслыка будет храниться как [LINK2]? Приведите структуру таблицы - как называется поле, где хранится [LINK2]? И как формируется тэг [LINK2]? Цифра всегда уникальна?

Да, цифра всегда уникальна, она соответсвует ID последнего добавления из таблици.

   
 
 автор: cheops   (28.12.2006 в 17:55)   письмо автору
 
   для: 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>"
  } 
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования