Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Limit pobieranych znakow w mysql
telepawel
post 13.12.2003, 14:17:17
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
dob
post 13.12.2003, 14:23:06
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 13.12.2003, 14:24:27
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 smile.gif


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
telepawel
post 13.12.2003, 14:30:05
Post #4





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

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


pamietasz moze kilka slow z tematu smile.gif ?
Bardzo ulatwi mi to poszukiwanie.
Go to the top of the page
+Quote Post
telepawel
post 13.12.2003, 14:33:32
Post #5





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

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


Dob WIELKIE DZIĘKUJE 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 13.12.2003, 17:37:24
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 14.12.2003, 01:56:08
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 smile.gif


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
spenalzo
post 14.12.2003, 02:01:36
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 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 14.12.2003, 02:45:58
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... 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
winksmiley.jpg winksmiley.jpg 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"...


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
spenalzo
post 14.12.2003, 02:48:00
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ś tongue.gif


--------------------

Go to the top of the page
+Quote Post
BzikOS
post 14.12.2003, 02:51:40
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 14.12.2003, 04:04:00
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...
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]...


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 13:28