Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]Pobieranie części tekstu z bazy
Forum PHP.pl > Forum > Przedszkole
cycofiasz
Witam, jest w SQL jakaś funkcja która by ograniczała ilość pobranych znaków z danego pola?

Np w bazie mam w polu 'tekst' takie coś: sjdishu fhdufhduhfsudfh fudhfusdfhuds hfudhfusdhfu dhsufhudshfd

A baza by mi zwracała jedynie część pola: sjdishu fhdufhduhfsudfh
Grzyw
Funkcja nazywa się substring().
Odpowiada PHP'owskiemu substr().
Googlując znajdziesz jej definicję.
cycofiasz
Dzięki, a w jaki sposób zrobić żeby nie ucinało wyrazów?
Grzyw
Niestety, tu moja wiedza o SQL siada.
Przeglądnąłem manual, nic nie znalazłem.
Może Tobie się uda:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
Jeżeli nie, zostaje Ci już z poziomu PHP pomanipulować danymi za pomocą funkcji "stringowych"
kefirek
A może zrób tak
  1. SELECT LEFT(test, 1) AS ile FROM test


Gdzie będzie wyświetlać pierwsze tyle liter ile podasz
Lion_87
Zobacz ten temat: ak_podzielic_tekst_na_2_rowne_czesci
Grzyw
Cytat
A może zrób tak
SQL
SELECT LEFT(test, 1) AS ile FROM test


Gdzie będzie wyświetlać pierwsze tyle liter ile podasz


No przecież to nie wprowadza nic nowego nad substring().

Cytat
Zobacz ten temat: ak_podzielic_tekst_na_2_rowne_czesci


Nie sprawdzi się. Cycofiasz chce podzielić na wyrazy, a nie ucinać po N-znaków.

Ja na Twoim miejscu jednak z poziomu PHP otrzymany string wsadził do tablicy przez:

  1. <?php
  2. $tablica_wyrazow = explode(' ',$string_z_bazy);
  3. ?>


i później przez pętle for wyciągnął N pierwszych wyrazów. Albo inaczej, z kontrolą długości stringu:
  1. <?php
  2. $tablica_z_wyrazami = explode(' ',$string_z_bazy);
  3.  
  4. $string='';
  5. $i=0;
  6. while (strlen($string)<50)
  7. {
  8.      $string.=' '.$tablica_z_wyrazami[$i]
  9.      $i++;
  10. }
  11.  
  12. echo $string;
  13. ?>
Lion_87
Cytat
Nie sprawdzi się. Cycofiasz chce podzielić na wyrazy, a nie ucinać po N-znaków.


No jak? Sprawdzi się tylko on musi go trochę przerobić.
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.