Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: co jest w tym nietak! Proszę o pomoc!
Forum PHP.pl > Forum > PHP
cafepl_com
Witam! mam kod, ale jak dodaję rekordy to są widoczne i stronicowane, niestety w dziwny sposób segregowane według pierwszych liter rekordu. A ja chciałbym żeby się nie segregowały, tylko od razu po dodaniu nowego rekordu - był na pierwszym miejscu (w tym przypadku chodzi o gry online). CZY KTOś WIE JAK "WYłąCZYC" TO... SORTOWANIE WEDłUG PIERWSZYCH LITER REDKORDU? dodam ze mam tylko jedno pole o nazwie gra
  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= " $pop $pasek $nas"; }
  29. echo "<center>$br</center><center>";
  30. }
  31.  
  32. $l_odp_nastronie = 12;
  33. $l_odp_napasku = 2;
  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 baza"));
  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 baza ORDER BY gra DESC 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 "<div id="div"><div id="img"><a href="gra.php?url=".$wiersz[$j]."</div></div>";
  59. echo " ";
  60. }
  61. ?>
Cienki1980
Masz tak:
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM baza ORDER BY gra DESC LIMIT $start,$l_odp_nastronie");
  3. ?>


Czyli sortujesz po polu gra, a powinineś po id, czy też polu auto_increment jakokolwiek się ono nazywa.
cafepl_com
czyli tam gdzie "gra" powinienem dać id?? tylko co to da? skoro mam tylko jedno pole gra w tabeli?
Cienki1980
Skoro masz tylko jedno pole w tej tabeli to jak chcesz sortować questionmark.gif Możesz sortować tylko po tym jednym polu.

Musisz mieć dodatkowe pole, albo typu INT auto_increment ( im nowsze wpisy tym większa będzie ta wartość ), lub pole z datą gdzie będziesz wpisywał datę dodania wpisu do tabeli i po niej sortował
dr_bonzo
Prosze poprawic tytul topiku. Ten jest niezgodny z regulaminem (zupelnie bez tresci).
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.