Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> co jest w tym nietak! Proszę o pomoc!
cafepl_com
post 30.01.2007, 18:28:28
Post #1





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

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


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. ?>
Go to the top of the page
+Quote Post
Cienki1980
post 30.01.2007, 18:32:48
Post #2





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

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


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.


--------------------
404
Go to the top of the page
+Quote Post
cafepl_com
post 30.01.2007, 18:39:05
Post #3





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

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


czyli tam gdzie "gra" powinienem dać id?? tylko co to da? skoro mam tylko jedno pole gra w tabeli?
Go to the top of the page
+Quote Post
Cienki1980
post 30.01.2007, 18:49:10
Post #4





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

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


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ł


--------------------
404
Go to the top of the page
+Quote Post
dr_bonzo
post 30.01.2007, 19:22:34
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Prosze poprawic tytul topiku. Ten jest niezgodny z regulaminem (zupelnie bez tresci).


--------------------
Nie lubię jednorożców.
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 Wersja Lo-Fi Aktualny czas: 18.06.2025 - 15:59