X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
> Как ограничить вывод текста в цикле do-while?
happyhand
happyhand
Topic Starter сообщение 23.2.2010, 16:41; Ответить: happyhand
Сообщение #1


Подскажите, как поставить ограничение на 100 символов выводимого текста, да ещё в конце поставить троеточие?
Вот код:
[php]
$result = mysql_query ("SELECT * FROM table ORDER BY date DESC");
$myrow = mysql_fetch_array ($result);
do
{
printf ("%s", $myrow['text']);
}
while ($myrow = mysql_fetch_array ($result));
[/php]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 23.2.2010, 16:50; Ответить: ZhukV
Сообщение #2


[PHP]
$result = mysql_query ("SELECT * FROM table ORDER BY date DESC");
$myrow = mysql_fetch_array ($result);
do
{
printf ("%s", substr(0,100,$myrow['text']).'...');
}
while ($myrow = mysql_fetch_array ($result));
[/PHP]

За вывод части текста отвечает substr($start,$length,$text), где $start -- с какого сивола будет начинатся текст, $length -- сколько символов будет выводится, $text -- сам текст
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pomp
pomp
сообщение 23.2.2010, 16:55; Ответить: pomp
Сообщение #3


[php]
$text = substr($myrow['text'], 0, 100)."...";
[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 23.2.2010, 17:08; Ответить: Apay
Сообщение #4


sergey-g, ZhukV, очень не рекомендуется при извлечении из базы использовать цикл do{}while(), очень рекомендуется использовать цикл while(){}

а по предмету
[PHP]$result = mysql_query ("SELECT * FROM table ORDER BY date DESC");
while( $myrow = mysql_fetch_array ($result) )
echo strlen($myrow['text']) > 100 ? substr($myrow['text'],0,100).'...' : $myrow['text'];
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 23.2.2010, 17:16; Ответить: happyhand
Сообщение #5


Оказалось так надо:
substr($myrow['text'],0,100).'...');
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pomp
pomp
сообщение 23.2.2010, 17:18; Ответить: pomp
Сообщение #6


sergey-g,а мы разве не так написали? :hihi:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 23.2.2010, 17:26; Ответить: happyhand
Сообщение #7


Ага, а как поставить ограничение на суммарный вывод, вот такой:
[PHP]
printf ("%s,%s,%s", $myrow['text1'], $myrow['text2'], $myrow['text3']);

[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pomp
pomp
сообщение 23.2.2010, 17:39; Ответить: pomp
Сообщение #8


Каждого текста отдельно? или всех вместе?
Не совсем понял что вы хотите.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 23.2.2010, 17:42; Ответить: happyhand
Сообщение #9


Всего текста
[php]
$myrow['text1'] + $myrow['text2'] + $myrow['text3']);[/php]
Вот вся строка должна быть не более 100 символов.
Пробую так:
[php]substr($myrow['text1'].$myrow['text2'].$myrow['text3'],0,100)[/php] - не катит.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pomp
pomp
сообщение 23.2.2010, 17:53; Ответить: pomp
Сообщение #10


Ну так же само. Записывайте все полученое в константу, как Вам удобно - через пробел, запятую или точку:

[php]
$text = ($myrow['text1'].". ".$myrow['text2'].", ".$myrow['text3']);
printf (substr("$text", 0, 100)."...");
[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1124 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
12 uahomka 2299 25.3.2024, 6:52
автор: Skyworker
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
28 metvekot 3922 25.3.2024, 6:34
автор: Skyworker
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
23 freeax 3652 24.3.2024, 20:55
автор: Liudmila
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1947 23.3.2024, 7:41
автор: Room


 



RSS Текстовая версия Сейчас: 29.3.2024, 17:53
Дизайн