може ли?

20 отговора 639 прегледа
#1

може ли?

Имам една тоблица в MySql база данни и в нея имам едно текстово поле. Та възможно ли е да се изведът първите 10 думи от него???????????

Отговор
в отговор на dudu #2

Re: може ли?

Тази функция ще ти свърши работа - със здраве да си я ползваш.

<?php

function get_last_ten_word($string){

$my_words=str_word_count($string , 1);
$my_words = array_slice ($input, 0 , 10);
$my_string=implode(" ",$my_words );
return $my_string;

}


?>

Отговор
в отговор на Uchesht #3

Re: може ли?

Корекция на малка грешка
<?php

function get_last_ten_word($string){
$my_words=str_word_count($string , 1);
$my_words = array_slice ($my_words , 0 , 10);
$my_string=implode(" ",$my_words );
return $my_string;
}
?>

Отговор
в отговор на Uchesht #4

Re: може ли?

To PHP si ima substr() za kvo mu izmislqsh nova funkciq na choveka

Отговор
в отговор на dudu #5

Re: може ли?

SUBSTRING_INDEX

----------

Кирилица Forever
Отговор
в отговор на 9-rлaвaтa лaмя #6

Re: може ли?

Абе аз ли съм многo тъп ама тая функция не я разбирам. Случаино да имате някакав пример та да ми помогнете?

Отговор
в отговор на dudu #7

Re: може ли?

$string = mysql_query("SELECT string_field FROM db_table WHERE id=25") ;
$output = substr($string, 0, 10);
echo $output;
Shte ti izvede purvite 10 simvola ot poleto "string_field" koyto se namira v tablica "db_table" pri postaveno uslovie che id da e ravno na 25. Sled where moje da si postavish svoi usloviya ili da go mahnesh izobshto ako nqmash poveche ot 1 zapis v tablicata.

Отговор
в отговор на DreX #8

Re: може ли?

готин, не четеш достатъяно внимателно, не става въпрос за 10 символа, а за 10 думи...

Just a genius

Отговор
в отговор на DreX #9

Re: може ли?

май и аз не чета внимателно, щото изтървах хита :)

Sled where moje da si postavish svoi usloviya ili da go mahnesh izobshto ako nqmash poveche ot 1 zapis v tablicata.

можеш ли да ми предложиш една свястна причина да имам база данни, и таблица, в която да държа само един запис?

Just a genius

Отговор
в отговор на Blake #10

Re: може ли?

А със думи знаете ли как става или ше трябва да налучквам в символи???

Отговор
в отговор на dudu #11

Re: може ли?

Ми те хората са ти дали пример, не мисля че е толко сложно да смениш точката с интервал:
SELECT SUBSTRING_INDEX(text_field, ' ', 10) ....

Естествено това няма да върши добра работа ако думите ти са разделени с повече от един интервал или не слагаш интервал след препинателните знаци но в общия случай ще си работи като пушка

----------

Кирилица Forever
Отговор
в отговор на dudu #12

Re: може ли?

"А със думи знаете ли как става или ше трябва да налучквам в символи???"
Ами аз горе съм ти написал функция за целта - приложи я.

Отговор
в отговор на Blake #14

Re: може ли?

Da, naprimer tablica za configuracii po skrita,

Отговор
в отговор на dudu #15

Re: може ли?

Koe ne stava we pich ?

SELECT SUBSTRING_INDEX(col_name, ' ', 10) FROM table

, kydeto col_name ti e imeto na kolonata, ot koiato triabva da izvedesh pyrvite 10 dumi, a table ti e imeto na tablicata :)
Kakva greshka ti dava ?

Отговор
в отговор на lnsOmnia #16

Re: може ли?

изписва някакъв warning, но го скрижа много барзо и не мога да го прочета

Отговор
в отговор на dudu #17

Re: може ли?

Или можв би бъркам в извеждането на резултатите после използвам ето това
$top_cat=mysql_query ("SELECT SUBSTRING_INDEX(col_name, ' ', 10) FROM table
WHERE id='$id'");
while ($cat_row=mysql_fetch_array ($top_cat)) {
echo "$cat_row[col_name]";
}

Просто нищо не ми изписва това. Показва някакъв warning, но го скрива много бързо и не мога да го прочета.

Отговор
в отговор на dudu #18

Re: може ли?

Как така го "скрива"? Дай "View source" на страницата и го "открий"

----------

Кирилица Forever
Отговор
в отговор на 9-rлaвaтa лaмя #19

Re: може ли?

"Скрива го" в смисъл че показваше за малко някъв warning и после продължава да си зарежда страницата нормално като не изписва нищо. Сега пък спря да показва така за момент warning ама пак не изписва стоиностите. Ако не може поне кажете как да изведа текста до първата точка?

Отговор
в отговор на dudu #20

Re: може ли?

Оки...явно имаш нужда от подробно ръководство
1. След като пуснеш скрипта, в IE отиваш на View->Source
2. В току що появилия се notepad отиваш на Edit->Find и търсиш Warning
3. Постваш го тук

Щом ти дава уорнинг значи сигурно не си се вързал към базата.
Другото е че намираш първите 10 думи но пак си извеждаш целия текст.

Тоест в кода си трябва да смениш следното SELECT SUBSTRING_INDEX(col_name, ' ', 10) words
И после
echo "$cat_row[words]";

----------

Кирилица Forever
Отговор