Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyswietlaniem danych z bazy
Forum PHP.pl > Forum > Bazy danych > MySQL
miszqa
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
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
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 smile.gif (ale to juz tylko taka moja uwaga)
Spike
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
thx no tak myslenie sie wylaczylo wielkie dzieki
mysle ze to koniec tematu 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.