Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Kotwice do stron nowości pobieranych z bazy, jak wykonać, gdy adres (link) zmienia się dynamicznie?
artoor
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.04.2011

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


Proszę o pomoc w rozwiązaniu następującego problemu.

Jest sobie strona, niech będzie to: www.mojadomena/aktualnosci na której wyświetla się pięć newsów z bazy danych (każdy news ma dodany atrybut id=”news-1”, id=”news-2” id=”news-5” wartości liczbowe są kolejnymi wierszami gdzie id jest kluczem głównym w MySQL). Jako że podstrona aktualności pobiera newsy z bazy, oczywiste jest, że będzie ich coraz więcej, zatem wykorzystuję paginację, w której kolejne pięć nowości będzie znajdowało się na stronie www.mojadomena/aktualnosci,2 , następne na www.mojadomena/aktualnosci,3 itd.

Sortowanie rzecz jasna jest malejące, ponieważ każdy nowy wpis otrzymuje wyższy numer id który musi wyświetlać się na pierwszej podstronie www.mojadomena/aktualnosci , co za tym idzie, news o id=”news-6”, czyli ten najnowszy powoduje, że id=”news-1”, który jeszcze przed chwilą był na podstronie www.mojadomena/aktualnosci teraz przeskakuje na www.mojadomena/aktualnosci,2

Nie byłoby w tym nic niepokojącego mnie, gdyby nie fakt, że chciałbym móc odnosić się do poszczególnych nowości z innych podstron (tudzież z kanału RSS/Atom) za pomocą kotwic do nich (na zasadzie www.mojadomena/aktualnosci#news-3 itp.)
Problem mam nadzieje jest zrozumiały. Ponieważ przy pięciu newsach w bazie wiem, że odnośnik www.mojadomena/aktualnosci#news-3 zadziała prawidłowo, ale gdy ilość wpisów w bazie będzie już dajmy na to 9, to prawidłowo odnośnik powinien wskazywać na www.mojadomena/aktualnosci,2#news-3 przy 15 wpisach w bazie ten znów nie zadziała, bo należy użyć wówczas www.mojadomena/aktualnosci,3#news-3. Czyli prawidłowy adres jest zależny od ilości wpisów w bazie.

Jakie widzicie rozwiązanie takiego problemu? Zaznaczam, że zależy mi na tym, żeby móc odnieść się do poszczególnych newsów zarówno z innych podstron, jak i kanału RSS/Atom.

Za wszelkie sugestie dziękuję (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Chyba załapałem w czym masz problem ;D sprawdź
  1. <?php
  2.  
  3. $strona = $_GET['strona'];
  4. $limit = 2;
  5.  
  6. $start = ($strona - 1) * $limit;
  7.  
  8. $select = mysql_query("SELECT * FROM news ORDER BY id ASC LIMIT $start, $limit");
  9.  
  10. $news = array();
  11. while($row = mysql_fetch_assoc($select)) {
  12.  
  13. $news[] = $row;
  14. }
  15.  
  16. krsort($news);
  17.  
  18. echo '<pre>'; print_r($news);
  19.  
  20. ?>


Pobierasz dane tak jak się to zazwyczaj robi przy paginacji czyli od najmniejszego do największego a potem dzięki funkcji krsort sortujesz już pobrane dane wg. klucza

Ten post edytował CuteOne 24.07.2011, 00:17:03
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 07:29