Показати вміст з бази даних

I have table conatining records for different dog breeds , have a page to dispaly dog breeds with name A, I want to show a little description also there, but description field has lot of data , how can i limit it to fixed size when pulling from database and also I want to put read more at the end. http://www.animalswecare.com/Pets/Dogs/a.php

2
Це потребує набагато більше деталей. Що ви маєте на увазі під "фіксованим розміром"? Що повинно робити саме "читати більше"? Можливо, ви шукаєте нумерацію сторінок, наприклад Розшарування в PHP
додано Автор Pekka 웃, джерело

3 Відповіді

2
додано

Якщо ви хочете зробити це в SQL, а не отримувати всі дані, а потім керувати ним за допомогою PHP, використовуйте функцію SUBSTRING у вашому запиті sql:

SUBSTRING (dog_description, 0,20) дасть вам 20 символьних рядків з початку рядка (отже 0,20)

2
додано
спасибі dis саме те, що я шукав
додано Автор user995426, джерело
Чудово, це заощадить деякі ресурси. спасибі
додано Автор abruski, джерело

Спробуйте це

function limit_words($string, $word_limit)
{
    $words = explode(" ",$string);
    return implode(" ",array_splice($words,0,$word_limit));
}


$content = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";

echo limit_words($content,20);

РЕДАГУВАТИ

Як запропонував DaveRandom.

function limit_words($string, $word_limit)
{
    $words = str_word_count($string, 1);
    return implode(" ",array_splice($words,0,$word_limit));
}


$content = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";

echo limit_words($content,20);
1
додано
Ви можете скористатися str_word_count() > , щоб отримати масив усіх слів у рядку - це операція трохи більш розумна, ніж explode ('', $ string); , оскільки вона підраховує будь-який пробіл роздільник і ігнорує числові знаки та плаваючі знаки пунктуації
додано Автор DaveRandom, джерело
@DaveRandom так ви праві. Я відредагував мою відповідь.
додано Автор Rupesh Pawar, джерело
Ukrainian PHP comunity
Ukrainian PHP comunity
885 учасників

dev-ua/php