miszqa
19.05.2004, 00:14:42
Witam!!!
To juz kolejny problem. Chodzi o baze mysql.
Problem wyglada nastepujaco. Mam baze z artykulami czy jest sens robienia kolejnej kolumny do robienia skrotow danej tresci. Bo chce wyswietlac tresc w skrotach a pozniej po kliknieciu "wiecej" wyswietlilo mi caly artykul.
Widzialem gdzies skrypt ktory skraca w locie text wyswietlany ale chodzi o projekt bazy czy aby niepotrzebnie nie zapychac jej mozna w locie to zrobic?
Pytanie wtedy jak zrobic w przypadku
bazy (id_news, tresc) po wyswietleniu skrotu wiadomosci do np dwoch zdan pozniej po kliknieciu wyswietlalo caly artykul. Bede ciekawy tego rozwiazania.
dzieki z gory
Spike
19.05.2004, 00:20:17
Proponowałbym ci zastosowanie obcinania tekstu w locie wyciągasz to z bazy następująco
[php:1:8ff29ede77]<?php
function skr_dane($tekst, $il_znakow)
{
if (strlen($tekst) > $il_znakow)
return substr($tekst, 0, strrpos(substr($tekst, 0, $il_znakow), " ")).' ...';
else return $tekst;
}
$sql = "SELECT left(tekst, 180) as tekst_skr FROM tabela";
$wynik = mysql_query($sql) or die(mysql_error());
while($w = mysql_fetch_assoc($wynik))
echo skr_dane($w['tekst_skr'], 160).'<br>';
?>[/php:1:8ff29ede77]
Funkcja skr_dane po 180 znakach doda ci ...
Jeest jeszcze jeden sposób
[sql:1:8ff29ede77]
SELECT if (LENGTH(tekst)>160 ,SUBSTRING(tekst, 1, LOCATE(' ', tekst, 140)), tekst) as tekst_skr FROM tabela[/sql:1:8ff29ede77]
miszqa
19.05.2004, 00:26:05
no dobra mam teraz wyporcjonowany wynik
a teraz jak mam wyswietlic cala wiadomosc?
bo wiadomosci na stronie chce wyswietlac 10 sztuk w skrotach
wiec teraz jak zrobic aby dla kazdego skrotu byl wyswietlany odpowiedni link ?
sorka moze to proste ale jakos nie mam pomyslu
poza tym mam pomysl ze jesli ma byc obcinanie textu to nie ilosc znakow tylko np do znalezionej kropki oraz spacji czyli pozbyjemy sie ucietych wyrazow

(ale to juz tylko taka moja uwaga)
Spike
19.05.2004, 01:02:38
pod artykułem robisz link
[php:1:4040607afa]<?php
echo "<a href=wiecej.php?id_news=".$wiersz['id_news']." >więcej...</a>
?>[/php:1:4040607afa]
a w pliku więcej.php
[sql:1:4040607afa]$zapytanie = "SELECT * FROM tabela where id_news in('$id_news')";[/sql:1:4040607afa]
miszqa
19.05.2004, 01:05:42
thx no tak myslenie sie wylaczylo wielkie dzieki
mysle ze to koniec tematu