Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak wybrać część zawartości pola (do kropki), Z SQL'a do RSS'ów
xPatryk
post
Post #1





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 9.01.2004

Ostrzeżenie: (20%)
X----


Witam,

w jaki sposób najprościej (najoptymalniej) wybrać tekst z pola typu "text" z bazy MySQL, ale tak, by wyświetlić max 255 znaków, ale przerwać po kropce (koniec zdania a nie połowa wyrazu?)

Nie chciałbym czytać go po znaku i liczyć kropek...

Pozdrawiam i proszę o pomoc...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Kas
post
Post #2





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Możesz pobrać cały tekst.
Następnie znaleźć kropkę i wyświetlić tekst do kropki + kropka.
Go to the top of the page
+Quote Post
xPatryk
post
Post #3





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 9.01.2004

Ostrzeżenie: (20%)
X----


hm... znalezienie kropki wymagaloby przczytania calego tekstu znak po znaku i porownania kazdego znaku z kropka, prawada?

Wiem, że jest jakaś inna metoda, kiedyś nawet jej używałem ale nigdzie nie mogę znaleźć tamtego pliku a z forum php.pl tamten wątek już zniknął (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Pozdrawiam
Patryk
Go to the top of the page
+Quote Post
Kas
post
Post #4





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Chwilowo nie mam innego pomysłu.
Ale może coś wymyślę...

Proponuję poszukaj w manualu.
Go to the top of the page
+Quote Post
crash
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Podkreślam, że nigdy wcześniej nie używałem tych funkcji. Wszystko wydedukowałem w pare minut z manuala MySQL. LENIE!

  1. SELECT substring( pole, 1, 255 + position( "." IN substring( pole, 255 ) ) )
  2. FROM tabela;

Tylko to pobiera 255 znaków + dokończenie zdania... Chcesz więcej - kombinuj.
Go to the top of the page
+Quote Post
cahe
post
Post #6





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 22.03.2003

Ostrzeżenie: (0%)
-----


strpos a potem substr -> manual

edit: o ktoś mnie ubiegł ;>

Ten post edytował cahe 10.08.2005, 13:10:23
Go to the top of the page
+Quote Post
mrowa
post
Post #7





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 10.08.2005

Ostrzeżenie: (0%)
-----


Cytat
select substring( pole, 1, 255 + position( "." in substring( pole, 255 ) ) )
from tabela;


jest ok, ale pokaze minimum 255 znakow plus n* znakow do wystapienia pierwszej kropki po pierwszych 255 znakach

moze lepsze bedzie to:
  1. SELECT substring( text,1,position("." IN substring(text,1,255)) )
  2. FROM tabela

pokaze maksymalnie 255 obcinajac tekst do wystapienia pierwszej kropki w pierwszych 255 znakach


albo
  1. SELECT substring( pole ,1,255 - position("." IN reverse(substring(text,1,255)))+1 )
  2. FROM tabela

pokaze maksymalnie 255 obcinajac tekst do wystapienia ostatniej kropki w pierwszych 255 znakach


albo
  1. SELECT
  2. case
  3. when position("." IN pole) < 255
  4. then substring(pole,1,position("." IN substring(pole,1,255)) )
  5. else concat(substring(pole,1,255 - 4 ),' ...')
  6. end
  7. FROM tabela

pokaze maksymalnie 255 obcinajac tekst do wystapienia pierwszej kropki w pierwszych 255 znakach, jezeli w pierwszych 255 znakach nie ma kropki, pokaze 255 - 4 znakow + ' ...'

itd..
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:17