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

Форум PHP

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

 

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

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

тема: Новости..
 
 автор: a.graphics   (15.05.2009 в 22:46)   письмо автору
 
 

Всем привет =) и добрый вечер (у всех по разному).
Возник вопрос, прошу совета, есть новости в базе определенное количество новостей выводятся на главной странице, вопрос:

- Как выводит не весь текст а только первые две строчки?

пример:
16.05.09 - <u>Новые вывески для Вас</u>.
Вот хожу я по просторам интернета и зачастую вижу "творения пикассо". Так
дизайнеры, научившиеся разве что открывать фотошоп.....
<a href = $>подробнее</a>
...................................................................
за ранее благодарен =)
если сложно отвечать то просто хотябы подскажите в какую сторону двигаться.

  Ответить  
 
 автор: AcidTrash   (15.05.2009 в 22:59)   письмо автору
 
   для: a.graphics   (15.05.2009 в 22:46)
 

16.05.09 - <u>Новые вывески для Вас</u>.
Заголовок в принципе хранится в отдельном поле таблицы БД

Вот хожу я по просторам интернета и зачастую вижу "творения пикассо". Так
дизайнеры, научившиеся разве что открывать фотошоп.....

Поможет substr()

<a href = $>подробнее</a>
Без комментариев, тупо должна быть ссылка на полную новость. Ссылка скажем может выглядеть так: news?idnews=2, где idnews это интендификатор новости.

  Ответить  
 
 автор: a.graphics   (15.05.2009 в 23:04)   письмо автору
 
   для: AcidTrash   (15.05.2009 в 22:59)
 

=))) я знаю...я просто показал как должно быть =)))
я знаю что заголовок хранится отдельно и текст отдельно вот как текст вывести не весь а только часть =)
.......смешно немного

  Ответить  
 
 автор: a.graphics   (15.05.2009 в 23:05)   письмо автору
 
   для: a.graphics   (15.05.2009 в 23:04)
 

наверно непонятно ..
смотрите допустим есть новость вней 600 букв ....а я хочу просто показать 200 букв и заголовок и подключить ссылку на всю новость =) вот у меня неполучается вывести 200 букв =(

  Ответить  
 
 автор: a.graphics   (15.05.2009 в 23:06)   письмо автору
 
   для: a.graphics   (15.05.2009 в 23:05)
 

черт =))
Незаметил! Поможет substr() извените щас попробую =)

  Ответить  
 
 автор: ols   (16.05.2009 в 09:38)   письмо автору
 
   для: a.graphics   (15.05.2009 в 23:05)
 

Не всегда смысл можно понять из первых 200 букв. Лучше всего создать дополнительное поле в базе с кратким описанием и вносить туда как бы сам сюжет новости.
Но если уже пошло на то пошло то лучше средствами MySQL

SELECT  SUBSTRING_INDEX(body, '.', 1) AS `krn` ....

Запрос покажет все до первой точки.

  Ответить  
 
 автор: a.graphics   (15.05.2009 в 23:17)   письмо автору
 
   для: AcidTrash   (15.05.2009 в 22:59)
 

спасибо!
за substr() !
вот я ленивый давно бы посмотрел бы ....=))) спасибо а то 2 -часа убил =)

  Ответить  
 
 автор: Valick   (15.05.2009 в 23:23)   письмо автору
 
   для: a.graphics   (15.05.2009 в 23:17)
 

решайте задачу средствами MySQL

  Ответить  
 
 автор: *m*   (16.05.2009 в 01:26)   письмо автору
 
   для: a.graphics   (15.05.2009 в 23:17)
 

создайте поле в муsql для краткого описания новости, и поменяйте запрос на выведение новости на главной странице.

  Ответить  
 
 автор: Valick   (16.05.2009 в 07:00)   письмо автору
 
   для: *m*   (16.05.2009 в 01:26)
 

зачем????
string SUBSTRING( str string, pos integer, len integer )

string SUBSTRING(str string FROM pos integer FOR len integer)

Возвращает подстроку строки str длиною len символов с позиции pos. Поддерживает многобайтовые символы. Вариант с "FROM " используется в синтаксисе ANSI SQL92. В функции SUBSTRING() если не указан аргумент len, то возвращает всю подстроку строки str с позиции pos.

Примеры:

mysql> select SUBSTRING('Quadratically',5,6);
-> 'ratica'
mysql> select SUBSTRING('Quadratically',5);
-> 'ratically'
mysql> select SUBSTRING('foobarbar' FROM 4);
-> 'b

  Ответить  
 
 автор: serjinio   (16.05.2009 в 12:45)   письмо автору
 
   для: Valick   (16.05.2009 в 07:00)
 

SELECT LEFT (`text`, 200) AS `shorttext`

  Ответить  
 
 автор: *m*   (16.05.2009 в 13:34)   письмо автору
 
   для: Valick   (16.05.2009 в 07:00)
 

затем, что такая конструкция наиболее правильная, а если вы захотите вывести краткие новости на др страницах, в др категориях, а если таких категорий будет 100 штук, вы что везде будите эту функцию прописывать. Я уже не говорю о том, что если вдруг вы захотите по другому настроить вы вод кратких новостей.

  Ответить  
 
 автор: Valick   (16.05.2009 в 13:51)   письмо автору
 
   для: *m*   (16.05.2009 в 13:34)
 

выводите где угодно, как угодно и когда угодно (средствами РНР) и это ни коим образом не связано с выборкой и хранением информации в базе (средствами СУБД)
Если у вас идёт краткое описание новости с текстом отличным от основной новости (тоже самое но иными словами и вкртце от общено объёма), тогда само собой надо заводить отдельное поле, но ненужно заниматься денормализацией и заводить отделное поле (а то и таблицу), что бы скопировать туда 200 символов от основного текста, и уж ни в коем случае не нужно доставать из базы текст в полном объёме и урезать его перед выводом средствами РНР.
К положению картинки и стилизации вывода это никакого отношения не имеет - это вёрстка и ненадо мешать всё в одну кучу.

[поправлено модератором]

  Ответить  
 
 автор: *m*   (16.05.2009 в 14:37)   письмо автору
 
   для: Valick   (16.05.2009 в 13:51)
 

> К положению картинки и стилизации вывода это никакого отношения не имеет - это вёрстка и ненадо мешать всё в одну кучу.

вот именно что имеет, как вы в цикле будите выводить картинки к кратким новостям а? с помощью верстки ? что за бред???

>Если у вас идёт краткое описание новости с текстом отличным от основной новости (тоже самое но иными словами и вкртце от общено объёма), тогда само собой надо заводить отдельное поле,

здесь вы помомйму сами ответили на свой вопрос! Поле заводить нужно, поскольку выведение краткой новости может быть каким угодно, соответсветно более правильно завести поле, логично?

  Ответить  
Rambler's Top100
вверх

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