2012-03-08 11:34:12 Post #21
nospor
No ale ty do cache nie masz wkładać całej tabeli, tylko daną stronę.
Tworząc cache masz tworzyć go dla danej strony. Dla idcache dodawaj aktualnej strony.
2012-03-08 11:48:02 Post #22
gość_xxdrago
Nie rozumiem, możesz jaśniej?
2012-03-09 07:48:53 Post #23
nospor
No cache masz tworzyć dla strony... No co tu można pisać jaśniej? Jesteś na stronie 1 to robisz dla 1. Jesteś na 6 to robisz dla 6
<?php
$pager = new Pager('id');
$pager->SetTotalRecords($liczbarekordow);
$pager->Make(true);
$pag = $pager->Render();
$actualPage = $pager->GetActualPage(); //tu aktualna strona
$coId = 'news'.$actualPage;
if (is_null($news = $this->Cache->Get($coId, '@queries'))){
......
}
?>
2012-03-09 16:07:57 Post #24
gość_xxdrago
Zrobiłem, coś takiego:
http://pastebin.com/bHeAVSKK
Wyskakuje:
Fatal error: Using $this when not in object context in C:\Program Files (x86)\xampp\xampp\htdocs\index.php on line 61
2012-03-09 17:55:11 Post #25
nospor
No ale nie kopiuj bezmyślnie. To był tylko przykład byś widział jak robić....
Czy ty masz $this->Cache?? Nie, ty masz $cache.
ps: w kodzie co pokazałeś ty znowu pobierasz wszystko. Jedyne co zmieniles, to to, że to "wszystko" łądujesz do chace danej strony. Do cache danej strony masz ładować dane z danej strony a nie wszystko...
2012-03-09 18:01:10 Post #26
gość_xxdrago
Co masz na myśli wszystko?
2012-03-09 18:09:24 Post #27
gość_xxdrago
PS:
Jeżeli ci chodzi o dane typu:
$news[] = array(
'nazwa' => znaki('znaki', $newss['nazwa']),
//'link' => $newss['link'],
'id' => $newss['id'],
'link' => $newss['link'],
'tresc' => $cutText,
'autor' => $newss['autor'],
'data' => $newss['data'],
'komentarze' => $row[0],
);
To muszę je mieć aby potem je wyświetlić ładnie newsy:
<!--BeginNEWS-->
<div class="grid_6">
<div class="title"><h2><a href="{link}.html">{nazwa}</a></h2></div>
<div class="clear"></div>
<div class="meta_data">Napisany przez {autor} dnia {data} {coments}</div>
<div class="clear"></div>
<p>{tresc}</p>
<div class="clear"></div>
<a href="{link}.html">» Czytaj więcej</a>
</div>
<!--EndNEWS-->
<div class="pagination">
{pager}
</div>
2012-03-09 18:22:10 Post #28
nospor
"wszystko" - wszystkie newsy....
Zdaje się robisz stronicowanie wiec do cache danej strony masz wrzucać newsy z danej strony a nie wszystkie jakie masz w tabeli.
2012-03-09 18:30:11 Post #29
gość_xxdrago
No to mam sobie ustawić limit w zapytaniu ?
2012-03-09 18:37:15 Post #30
gość_xxdrago
Dobra, ładnie wszystko działa jak byś mógł jeszcze zobaczyć na kod:
http://pastebin.com/g38vaFSK
2012-03-09 18:48:20 Post #31
nospor
Zdecydowanie lepiej.
A wiesz, ze kometarze możesz pobrać w tym samym zapytaniu co newsy? ZWykły left join + group by + count
2012-03-10 19:06:15 Post #32
gość_xxdrago
acha, no to juz wiem

Tylko kurde nie wiem czemu ale cały czas mi pobiera dane do cache.
2012-03-11 19:10:42 Post #33
gość_nospor
A skąd wiesz, że ciągle wkłada do cache zamiast pobierać?
2012-03-11 19:12:12 Post #34
gość_nospor
Juz wiem czemu.....
Tak pobierasz:
if (is_null($news = $cache->Get($coId, '@queries'))) {
a tak wkładasz
$cache->Put('news', $news, '@queries');
Widzisz coś ciekawego?
2012-03-12 16:28:56 Post #35
gość_xxdrago
Tak, mam włożyć dane w if i dać warunek jeżeli $news jest null

A tak w ogóle to mam jakieś postępy z tym php? Bo niektórzy mi mówią , żeby zaczął programować obiektowo. Co o tym myślisz?
2012-03-12 21:45:18 Post #36
gość_xxdrago
Ale teraz patrze i dalej nie wiem o co chodzi...
2012-03-13 07:40:51 Post #37
nospor
Jaki null.....
Czy naprawde nie widzisz, że dane wkładasz do cache o nazwie X a pobierasz z cache o nazwie Y?? Nie uważasz, że powinieneś i wkładać i pobierać z X??
2012-03-13 15:22:48 Post #38
gość_xxdrago
Dobra chodzi

dziękuje ale ze mnie nie "dureń". Teraz pytanie z tym obiektowy jak wyżej
2012-03-13 15:27:32 Post #39
nospor
No obiektówkę dobrze znać i stosować.
Kod jest czytelniejszy, bardziej skalowalny i ogólnie przyjaźniej się programuje.
2012-03-13 21:08:23 Post #40
gość_xxdrago
Gdzie najlepiej nauczyć się ponad podstaw MySQL miedzy innymi z tym lef join co pisałeś wyżej? Bo w dokumentacji nie najlepiej to pisze...
Odpowiedz