Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: {php, bazy danych} stronicowanie działa ale jednak...
Forum PHP.pl > Forum > Bazy danych > MySQL
cafepl_com
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. ?>
Cienki1980
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
cafepl_com
smile.gif działaaa.. biggrin.gif dzięki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.