Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyciąganie tylko 500 znaków z pola
Forum PHP.pl > Forum > Bazy danych > MySQL
xero
No i mam problem... Musze wcyciągnąć 500 znaków z komórki od znaku 50 do 550.. No i nie było by problemu gdyby nie miało "zaokrąglać" wszystko do spacji.. Tzn. mamy text "jestem bogiem" to żeby nie wyświetliło od razu "jest.." tylko "jestem".. MAm nadzieję że da się to radę zqumać tongue.gif i liczę na pomoc aarambo.gif
kszychu
A może zrób to w php?
  1. <?php
  2. $string = substr($string, 0, strpos($string, &#092;" \", 500));
  3. ?>
xero
No ja osobiście bym to zrzucił na mysql - ale własnie w tym jest problem worriedsmiley.gif
scanner
Kiedyś podawałem na forum zapytanie do tego... Ale nie umiem tego znaleźć teraz. mam zapytanie w domu, w archiwum, ale musiałbys czekać na nie do poniedziałku.
Jakbyś chciał samemu kombinowac, to polecam:
http://dev.mysql.com/doc/mysql/en/String_functions.html
-> LOCATE - do odnajdywanie spacji
-> SUBSTRING - do wycinania odpowiedniego fragmentu

Przyda siee też lekka zabawa z IF w zapytaniu.
Z pamięci moge powiedzięc mniej więcej:
  1. SELECT SUBSTRING(text, (LOCATE( ' ', text, 50 ), LOCATE( ' ', text, 500+LOCATE( ' ', text, 50 ) ) AS shorty FROM TABLE...

Ale pisże z palca.

SUBSTRING wiadomo - wycina od do.
pierwszy locate oblicza pozycje pierwszej spacjii po 50 znaku stringa. Od tego miejsca wycinamy

druga konstrukcja powinna znaleźć spację wystepującą conajmniej 500 znaków po tej znalezionej powyzej.

Jak bedziesz zainteresowany w poniedzialek pokaze to co kiedyś zrobilem.
xero
Dzieki scanner za to tongue.gif Spróbuję pomęczyć się z tym kodem co zapodałeś, i chętnie poznam ten 2 w poniedziałek tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.