Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> {php, bazy danych} stronicowanie działa ale jednak...
cafepl_com
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 17.01.2007

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


Witam! Mam pewien probelm, gdyż jestem początkujący... ale do rzeczy. Mam kod php (Dariusza Majgiera) stronicowanie. Skrypt php działa znakomicie tylko mam dwa problemy. Czy ktoś wie, jak to zrobić, żeby każdy nowy dodawany rekord do bazy był wyświetlany jako pierwszy a nie jako ostatni... :/ Oto kod:
  1. <?php 
  2. function pasek($l_odp,$l_odp_nastronie,$l_odp_napasku,$skrypt,$a) { 
  3. $l_odp_podz = intval($l_odp / $l_odp_nastronie); 
  4. $l_odp_podz_mod = $l_odp % $l_odp_nastronie; 
  5. if ($l_odp_podz_mod>0) $l_odp_podz++; 
  6. if ($a<0) $a=0;
  7. if ($a>=$l_odp_podz) $a=$l_odp_podz-1; 
  8. $start = $a-1; 
  9. if ($a>0) {$pop="<a class="me" href="".$skrypt."a=$start"><</a>";} 
  10. else {$pop = " ";} 
  11. if ($a<$l_odp_napasku) {$koniec = $l_odp_napasku*2+1;} 
  12. else {$koniec = $a+$l_odp_napasku+1;} 
  13. if ($a<=$koniec-$l_odp_napasku) {$star=$a-$l_odp_napasku;} 
  14. if ($a>=$l_odp_podz-$l_odp_napasku) {$star=$l_odp_podz-$l_odp_napasku*2-1;} 
  15. if ($koniec>$l_odp_podz) $koniec = $l_odp_podz; 
  16. if ($star<0) $star=0; 
  17. for ($i=$star; $i<$koniec; $i++) { 
  18. if ($i <> $a) { $pasek .= "<a class="me2" href="".$skrypt."a=$i">";} 
  19. else { $pasek .= "&nbsp;<font size="2" color="orange"><b>["; } 
  20. if ($l_odp_podz<>1) {$pomocniczy = $i+1;} 
  21. if ($i<>$a) { $pasek .= "$pomocniczy</a> "; } 
  22. else {$pasek .= "$pomocniczy]</b></font>";} 
  23. } 
  24. $dalej = $a+1; 
  25. if ($a<$l_odp_podz-1)
  26.  {$nas="<a class="me" href="".$skrypt."a=$dalej">></a>";} 
  27. else { $nas = " ";} 
  28. if ($pomocniczy>0) {$br= "<br> $pop $pasek $nas"; } 
  29. echo "<center>$br</center><br>"; 
  30. } 
  31.  
  32. $l_odp_nastronie = 2; 
  33. $l_odp_napasku = 5; 
  34. $skrypt = "?"; 
  35.  
  36. // połączenie z bazą 
  37. $baza = mysql_connect("localhost", "**", "**"); 
  38.  
  39. // ustalenie ilości wszystkich rekordów spełniających warunek 
  40. $wynik = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM osoby")); 
  41. $l_odp = $wynik[0]; 
  42.  
  43. // pobranie porcji informacji 
  44. $a = $_GET["a"]; 
  45. $start = $a*$l_odp_nastronie; 
  46. $wynik = mysql_query("SELECT * FROM osoby LIMIT 
  47. $start,$l_odp_nastronie"); 
  48. mysql_close($baza); 
  49.  
  50. // pokazanie paska nawigacyjnego 
  51. pasek($l_odp,$l_odp_nastronie,$l_odp_napasku,$skrypt,$a); 
  52.  
  53. // wyświetlenie wyników z bazy danych 
  54. $wierszy = mysql_num_rows($wynik); 
  55. $pol = mysql_num_fields($wynik); 
  56. for ($i=0;$i<$wierszy;$i++) { 
  57. $wiersz = mysql_fetch_row($wynik); 
  58. for ($j=0;$j<$pol;$j++) echo $wiersz[$j]." "; 
  59. echo "<br />"; 
  60. } 
  61. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Musisz dodać sortowanie wyników ... i teraz w zależności czy zapisujesz datę dodania użytkownika to możesz po dacie .. a jak nie data to może jakieś pole w tabeli auto_increment.

Ogólnie zmienione zapytanie powinno wyglądać mniej więcej tak:
  1. SELECT * FROM osoby ORDER BY naza_kolumny DESC LIMIT $start,$l_odp_nastronie


--------------------
404
Go to the top of the page
+Quote Post
cafepl_com
post
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 17.01.2007

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


smile.gif działaaa.. biggrin.gif dzięki!
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 Aktualny czas: 21.08.2025 - 12:20