Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Limit pobieranych znakow w mysql
telepawel
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 11.05.2003

Ostrzeżenie: (0%)
-----


Witam

Pisze wlasnie system artykulow wyswietlanych na stronie.
Beda pojawialy sie w po lewej stronie w kolumnie.

Chce umiescic caly artykul w bazie w jednym polu, na stronie
jednak chce wyswietlac czesc. Powiedzmy do 3 zdan, internauta klika w link i widzi caly artykul na stronie pobierajacej calosc

Reasumujac:
Jak wprowadzic limit/ograniczenie znakow pobieranych/wyswietlanych.


[php:1:21d346573b]<?php
$news = 'SELECT * ';
$news .= 'FROM `informacje` ';
$news .= 'WHERE 1 ';
$news .= 'ORDER BY `id` DESC';
$newsq = mysql_query($news) or die('Query error'.mysql_error());

while($czytaj=mysql_fetch_array($newsq)) {
$ktekst = $czytaj['tresc'];
$id = $czytaj['id'];
?>


<p class="text" style="padding-left:20;padding-right:20" align="justify">
<? echo $ktekst; ?><br><br>
<img src="images/icon.jpg" width="12" height="12">&nbsp;&nbsp;<a href="artykuly.html?id=<? echo $id; ?>" class="a1">Więcej informacji...</a><br><br>


?>[/php:1:21d346573b]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
dob
post
Post #2





Grupa: Zarejestrowani
Postów: 166
Pomógł: 0
Dołączył: 30.01.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Możesz pobbrac całą treść i skrocic ją do jakiejś ilosci znaków używajac funkcji substr

Przykład z manuala:
[php:1:2c22990799]<?php
$rest = substr("abcdef", 1); // returns "bcdef"
$rest = substr("abcdef", 1, 3); // returns "bcd"
$rest = substr("abcdef", 0, 4); // returns "abcd"
$rest = substr("abcdef", 0, 8); // returns "abcdef"

// Accessing via curly braces is another option
$string = 'abcdef';
echo $string{0}; // returns a
echo $string{3}; // returns d
?>[/php:1:2c22990799]

edit
a jak chcesz zrobic po kilku zaniach - podziel cały string za pomocą funkcji explode (podziel używając do dzielenia spacje czy kropki [wyrazy/zdania]) i wyswiet sobie w pętli tyle ile potrzebujesz
Go to the top of the page
+Quote Post
kicaj
post
Post #3





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


poszukaj na forum, sam pamietam podawalem funkcje skrocajaca do kilkunastu znakow...

albo poczytaj w php.net o pracy na stringach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
telepawel
post
Post #4





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 11.05.2003

Ostrzeżenie: (0%)
-----


pamietasz moze kilka slow z tematu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ?
Bardzo ulatwi mi to poszukiwanie.
Go to the top of the page
+Quote Post
telepawel
post
Post #5





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 11.05.2003

Ostrzeżenie: (0%)
-----


Dob WIELKIE DZIĘKUJE (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

mala poprawka i mam to co chcialem.

Gdyby ktos poszukiwal w przyszlosci podaje pelen kod:

[php:1:94a5172525]<?php

//wymagane w bazie mysql tabela z polami id/tresc

//tworzymy funkcje informacje()
//pobiera dane ostatniej wpisanej informacji
function informacje(){
$news = 'SELECT * ';
$news .= 'FROM `informacje` ';
$news .= 'WHERE 1 ';
$news .= 'ORDER BY `id` DESC';
$newsq = mysql_query($news) or die('Query error'.mysql_error());

//na przykladzie petli pobiera ostatnie dane
while($czytaj=mysql_fetch_array($newsq)) {
$ktekst = $czytaj['tresc'];
$id = $czytaj['id'];

//z calosci pobiera 400 znakow
$rest = substr($ktekst, 0, 400);
?>

//tworzy html gdzie rest to nasz ograniczony wynik - skrocony opis+link do pelnego artykulu
<p class="text" style="padding-left:20;padding-right:20" align="justify">
<? echo $rest; ?><br><br>
<img src="images/icon.jpg" width="12" height="12">&nbsp;&nbsp;<a href="artykuly.html?id=<? echo $id; ?>" class="a1">Więcej informacji...</a><br><br>
<?
}
}

?>[/php:1:94a5172525]

funkcje uruchamiamy poprzez wpisanie informacje(); w pliku php.
Go to the top of the page
+Quote Post
spenalzo
post
Post #6





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


[sql:1:d1264ce374]SELECT SUBSTRING(nazwa_pola,1,400) AS tresc FROM ...[/sql:1:d1264ce374]
Przytnie 'nazwa_pola' do 400 znaków długości. Nie warto zrzucać to na php skoro można obciąć w MySQLu i nie pobierać całości - szkoda pamięci.
Go to the top of the page
+Quote Post
kicaj
post
Post #7





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


Cytat
Przytnie 'nazwa_pola' do 400 znaków długości. Nie warto zrzucać to na php skoro można obciąć w MySQLu i nie pobierać całości - szkoda pamięci.


Tak, ale jesli bedzie chcial najpierw wyswietlic te 400 znakow a potem po kliknieciu w "wiecej" wyswietlic reszte znakow? To bedzie musial robic drugie zapytanie - wysiwetlajace calos, lepiej zostac przy skracaniu przez php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
spenalzo
post
Post #8





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
Tak, ale jesli bedzie chcial najpierw wyswietlic te 400 znakow a potem po kliknieciu w "wiecej" wyswietlic reszte znakow? To bedzie musial robic drugie zapytanie - wysiwetlajace calos, lepiej zostac przy skracaniu przez php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Co ty pieprzysz? Przestań wreszcie nabijać posty - szczególnie takie bzdurne.Przeczytaj jeszcze raz co napisałem i co ty napisałeś...
Jeżeli kliknie w więcej to musi przeładowac strone, no nie?



Update: nawet nie można powiedzieć piep.rzysz - co to za autocenzura?!?
Go to the top of the page
+Quote Post
Bakus
post
Post #9


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


OT: Takie już hamskie czasy nastały, że człowiek drugiemu człowiekowi publicznie nie nawtyka, bo mu usta zamienią na ciąg gwiazdek...

Jestem za MySQLem - sprawdziłem to na jednym z moich skryptów, który pobiera artykóły z bazy... Im większy artykół, tym szybsze wydaje się rozwiązanie z MySQLem... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Jako, że dane były pobierane z tego samego serwera, przy takim samym obciążeniu uważam pomiar za obiektywny zarówno dla php jak i MySQla
(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Wedle mnie cała sprawa szybkości jest w przesyle danych z bazy.
Wysłać przez sieć 400 znaków, a 400 000 znaków - jest różnica...

UpDated: Trzeba było napisać "piepszysz"...
Go to the top of the page
+Quote Post
spenalzo
post
Post #10





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
Wysłać przez sieć 400 znaków, a 400 000 znaków - jest różnica...

Serwery chodzą przeważnie na localhoscie więc... zez - nie trafiłeś (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
BzikOS
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

Ostrzeżenie: (0%)
-----


Cytat
Wysłać przez sieć 400 znaków, a 400 000 znaków - jest różnica...
Przez sieć? Czyżbyś miał server baz danych i server www na oddzielnych maszynach?
Go to the top of the page
+Quote Post
Bakus
post
Post #12


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


I tak i nie...
TZN: Korzystam z:[list]Przy teście skorzystałem z bazki (i PeHaPa) na szczęśliwym numerku 3...
(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

UpDate: Posiadanie kilku maszyn przydaje się do rozmyślań nad rozkładaniem obciążeń serwerów z poziomu skryptów...

Przez zastanawianie się nad tym problemem KAB.CMS jest [paused]...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:28