Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Częściowe pobieranie rekordu
Forum PHP.pl > Forum > Przedszkole
redelek
Witam,

Mam w bazie MySQL pole opis które ma typ TEXT. Są w nim zapisywane duże ilości danych.
Chciałbym żeby podczas pobierania danych z tego pola pobrał tylko 1000 znaków i dodał klawisz czytaj więcej.
Często się to spotyka na serwisach informacyjnych.

Będę wdzięczny za rozjaśnienie i podsunięcie pomysłu.
Szukałem czegoś takiego jak stronicowanie, ale to jest pobranie wszystkich rekordów i podzielenie ich na strony, a mi nie o to chodzi.


Pozdrawiam
Redelek
acztery
a to sprawdzałeś

http://dev.mysql.com/doc/refman/5.0/en/str...function_substr
redelek
Cytat(acztery @ 22.06.2008, 21:42:05 ) *


Oki dzięki, ale nie chce działać mi to w zapytaniu. Dorobiłem sobie małą funkcję i narazie działa tak jak chcę,
Ale dzięki za zainteresowanie problemem.

Może komuś się przyda
  1. <?php
  2. function skr_tekst($tekst, $ile_znakow, $id_rekordu)
  3. {
  4. if (strlen($tekst)>$ile_znakow) {
  5. $tekst = substr($tekst,0,$ile_znakow);
  6. $ost_spacja = strrpos($tekst, " ");//oblicza pozycję ostatniej spacji
  7. $tekst = substr($tekst,0,$ost_spacja);//skraca tekst do pozyscji ostatniej spacji
  8. return "$tekst ... $id_rekordu";
  9. }
  10. else return $tekst;
  11. }
  12. ?>
acztery
jak korzystasz ze smarty to mozna tez truncate:1000 np {$text|truncate:1000} - pokaze 10000 znaków.. a potem doda kropki jak coś ucioł......
redelek
Cytat(acztery @ 23.06.2008, 08:07:59 ) *
jak korzystasz ze smarty to mozna tez truncate:1000 np {$text|truncate:1000} - pokaze 10000 znaków.. a potem doda kropki jak coś ucioł......


Nie smarty to jeszcze dla mnie zadaleko smile.gif
Kusi mnie ten Twój bomysł ale coś nie mogę go zastosować smile.gif

Robię tak, ale nie pobiera nic mi z pola opis sad.gif

  1. <?php
  2. $zapytanie = "SELECT id_news, autor, temat, SUBSTRING(opis,0,100) opis, data FROM news ORDER BY id_news DESC ";
  3. ?>
acztery
  1. SELECT SUBSTRING(kolumna FROM 1 FOR 3) FROM tabela
redelek
Cytat(acztery @ 23.06.2008, 09:22:46 ) *
  1. SELECT SUBSTRING(kolumna FROM 1 FOR 3) FROM tabela



DZIĘKUJĘ problem w tym że ja wpisywałem od 0 a nie od 1 smile.gif

Bardzo dziękuję za pomoc, stawiam pomógł

Pozdrawiam
Redelek
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.