Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Полная версия новости 
:(
    Опции темы
DragonLord
Дата 23.6.2007, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 31.5.2007

Репутация: нет
Всего: нет



Скрипт новостной ленты. Новоть состоит из заголовка описания и полной версии новости. Я вывожу заголовок, дату с описанием, но как сделать полную версию новости. Чтоб пользователь нажав на ссылку прочитать полную новость попал на основной текст. Тут я даже приблизительный алгоритм немогу придумать.
PM MAIL ICQ   Вверх
teroni
Дата 23.6.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



А в чем собственно проблема? Там, где анонсы новостей ставишь ссылки вида 
Код

<a href="news.php?id=123">подробнее</a>
а на странице news.php показываешь новость с номером == $_GET['id'].

Это сообщение отредактировал(а) teroni - 23.6.2007, 13:31
PM MAIL   Вверх
DragonLord
Дата 23.6.2007, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 31.5.2007

Репутация: нет
Всего: нет



Цитата

А в чем собственно проблема?

Проблема в том, что программирование не всем дано от природы. Туго до меня доходит. Разбираюсь по крупицам.

Код
<a href="news.php?id=123">подробнее</a>

Тут не совсем пойму, почему id=123. Ведь ссылка должна генериться автоматически на каждую новость.

Цитата

а на странице news.php показываешь новость с номером == $_GET['id'].


Извиняюсь за свой тупизм, но куда это прикручивать нужно?

И еще. У меня заголовок в своем поле в базе, описание новости в своем, полная новость в своем. Как скрипт поймет откуда полную новость брать? Тут я наверно сделал глупость. Получается лучше на главную нужно выводить поле с полной новостью, только обрезать его на определенном моменте. Но с другой стороны посмотреть не ту же мамбо. Там есть отдельное поле для краткого описани, для полного и даже лоя титла и ключевых слов.

Это сообщение отредактировал(а) DragonLord - 23.6.2007, 14:58
PM MAIL ICQ   Вверх
mclight
Дата 23.6.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 6.7.2005
Где: Baku, Azerbaijan

Репутация: 1
Всего: 2



для этого при добавлении статьи в базу ей надо присвоить уникальное числа( ID ) ......в ссылку прикручиваешь этот самый id.
на стр. news.php $_GET['id'] надо приструнить туда откуда будет делаться запрос к базе
--------------------
Как я решал подводные камни Cakephp и не только
PM WWW ICQ MSN   Вверх
Kefir
Дата 23.6.2007, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



Примитивно:
Код

if(isset($_GET['id'])) {
  echo News::printNews($_GET['id']);
} else {
  foreach($news_ids_from_database as $id) {
    echo '<a href="news.php?id='.$id.'">подробнее</a>';
  }
}




 smile 
Цитата(DragonLord @  23.6.2007,  14:36 Найти цитируемый пост)
программирование не всем дано от природы

Программирование никому не дано от природы. Просто некоторые читают больше чем другие.
PM MAIL WWW Skype   Вверх
Ravanger
Дата 26.6.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 26.6.2007

Репутация: нет
Всего: нет



Цитата

И еще. У меня заголовок в своем поле в базе, описание новости в своем, полная новость в своем. Как скрипт поймет откуда полную новость брать? Тут я наверно сделал глупость. Получается лучше на главную нужно выводить поле с полной новостью, только обрезать его на определенном моменте. Но с другой стороны посмотреть не ту же мамбо. Там есть отдельное поле для краткого описани, для полного и даже лоя титла и ключевых слов.


чтоб сделать анонс из готовой новости, реж ее допустим до n-ой точки
Код

$n=0;
$x=0;
while ($n<=3)
      {
    if (strpos($news_text,'.') != false)
      {
        $x = strpos($news_text,'.', $x)+1;
                        /* или же $x = strpos($news_text,'.', $x);
                                         $х++;*/
                         
      }
       $n++;
       }
$anons = substr($news_text,0,$x);


примерно так, а ссылку на раскрытую новость можно сделать из самого анонса, или по ссылке "подробнее" по своему усмотрению
PM MAIL   Вверх
Golda
Дата 27.6.2007, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 20
Всего: 42



Ну, это не самое удачное решение. А если потребуется описание из нестандартного количества предложений? Или в описании используется сокращение, ограниченное точкой? Можно, конечно, придумать какой-нибудь разделитель, типа #####################, который вряд ли встретится в тексте сам по себе. Но на самом деле, решение, при котором описание хранится в отдельном поле, гораздо гибче: поиск, в котором используется описание, организовать легче, да и работать выборки будут быстрее. Если отвлечься от частностей, хранение описания в одном поле с текстом нарушает принцип атомарности данных в RDBMS. 

А проблем с сопоставлением новости описанию возникать недолжно. Поля разные, но запись-то одна. Идентифицируйте ее по ID, и выбирайте поле, соответствующее ситуации


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
Ravanger
Дата 27.6.2007, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 26.6.2007

Репутация: нет
Всего: нет



Golda

совершенно с тобой согласен, просто дал человеку ответ на его предположение, а реализация это уже его личное предпочтение

Это сообщение отредактировал(а) Ravanger - 27.6.2007, 09:37
PM MAIL   Вверх
Gold Dragon
Дата 27.6.2007, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



да всё правильно. Не нужно изобретать велосипед. Три поля: название статьи, краткая новость, полная новость (без краткой)


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
mclight
Дата 27.6.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 6.7.2005
Где: Baku, Azerbaijan

Репутация: 1
Всего: 2



+ id .....обязательно........
минимум, для индексации
--------------------
Как я решал подводные камни Cakephp и не только
PM WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1361 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.