Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]
Forum PHP.pl > Forum > Przedszkole
malena
Tworzę stronę, na której wiadomości wrzucam do i pobieram z bazy danych i chcę, aby na stronie głównej wyświetlała mi się tylko część treści, a dopiero na podstronie (po kliknięciu więcej) cała treść. Z poziomu monitora MySQL stosowałam polecenie:
select id, left(tresc, 20), data from news; - wyświetlało się pierwsze 20 znaków treści,
niestety z poziomu PHP to nie działa. Może ktoś wie jak to zrobić?
Grzyw
Skorzystaj z funkcji substr()
malena
:)Thx, dodatkowo dzięki wpisaniu w google substr() znalazłam art na którym jest więcej napisane o tym problemie:
http://php.webhelp.pl/index.php?id=104&...&ac=readtut
- może jeszcze komuś się przyda, zaraz wypraktykuje smile.gif Jeszcze raz dzięki!
cornholio666
A ja się lekko nie zgodze z Grzyw

Lepiej skorzystaj z

http://dev.mysql.com/doc/refman/5.0/en/str...function_concat
Grzyw
Malena napisała, że z poziomu PHP nie zadziałało, więc podałem funkcję PHP. Zgadzam się z cornholio666w 100%, że na poziomie bazy danych to rozwiązanie dobre. Mało tego, nie wiem, jak w praktyce, ale podejrzewam, że obcięcie stringu przy zapytaniu do bazy jest wydajniejsze od obcinania na poziomie PHP.
markotny
Jesli mogę się wtrącić to lepiej obcinać tekst w PHP. Ja stosuje np substr($row['tresc'],0,200) Pewnie spytacie dlaczego?
Otóż w sytuacji gdy treść będzie zawierała polskie czcionki to obcinając na poziomie myqla może nam wyświetlić tzw maczki. smile.gif
Jeśli treść nie zawiera polskich znaków jest to obojętne. smile.gif
envp
a dorzuce swoje trzy grosze - oto "inteligentny kod do obcinania" :

-podajemy odpowiednio string, którym kończymy - czyli np "..."
-max długość
-Tekst do obcięcia

CODE
function WordCut($sText, $iMaxLength, $sMessage)
{
if (strlen($sText) > $iMaxLength)
{
$sString = wordwrap($sText, ($iMaxLength-strlen($sMessage)), '[cut]', 1);
$asExplodedString = explode('[cut]', $sString);

$sCutText = $asExplodedString[0];

$sReturn = $sCutText.$sMessage;
}
else
{
$sReturn = $sText;
}

return $sReturn;
}
Spawnm
a ja na przyszłość prosił bym o nadawanie tematą nazw a nie tylko kategorii smile.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.