Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Pobranie 17 najlepszych wyników .
Giluś
post
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Cześć mam bazę danych w której zapisuję 3 czasy (trening, trening 2, wyścig) i chciałbym zrobić coś takiego:
Stworzyłem sobie 3 podstrony na wyświetlanie czasów z tych zawodów.
1 Strona: Pokazuję czasy, wszystkich zawodników którzy jechali w "Trening" no to tutaj proste zapytanie od mysql i pętle while/for
2 Strona: Pokazuję czasy jakie osiągnęli w "Trening 2", ale TYLKO dla 17 PIERWSZYCH czasów z "Trening" i tego własnie nie wiem jak zrobić, potrafię pobrać te 17 wyników i posortować je, ale jak zrobić żeby pokazały się tylko te czasy z (MySQL) Trening2, które w Trening były do 17 miejsce posortowane od najlepszego do najgorszego. - Troszkę chaotycznie napisane, ale myślę że zrozumiecie, a jak to pytajcie.
3 Strona: Pobiera czasy wszystkich zawodników którzy jechali w "Wyścig" tutaj tak samo prosto jak w 1 stronie.


Pozdrawiam i oczywiście bedą "Pomogł" dla każdego postu.
Go to the top of the page
+Quote Post
croc
post
Post #2





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


2.
  1. SELECT trening2 FROM tabela ORDER BY trening1 ASC LIMIT 17

3.
  1. SELECT wyscig FROM tabela WHERE wyscig IS NOT NULL ORDER BY wyscig ASC


O ile dobrze zrozumiałem i o ile dobrze założyłem, że pola mają NULL, kiedy ktoś nie brał udziału w danym etapie.

P.S. Dawanie "pomógł" dla każdego postu przynosi więcej szkody niż pożytku smile.gif
Go to the top of the page
+Quote Post
Giluś
post
Post #3





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Coś musi być zle ponieważ:

http://iv.pl/images/26878312824129948225.png - To jest TRENING
a to jest:
http://iv.pl/images/34501828036481057942.png - TRENING 2.

Niby już wszystko super, a tu jedna pomyłka, a kod dałem dobry:
  1. SELECT * FROM tabela ORDER BY `trening` ASC LIMIT 17


Ma ktoś jakiś jeszcze pomysł ?
Go to the top of the page
+Quote Post
croc
post
Post #4





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Musisz dokładniej opisać problem i powiedzieć co chcesz osiągnąć, bo nie wiem co jest źle.
Go to the top of the page
+Quote Post
Giluś
post
Post #5





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Chce zrobić coś takiego:

Wcześniej wpisałem do mysql czasy.
Pierwszy obrazek - tam gdzie jest 24 zawodnicy (wszystkie pola zapełnione) - To jest TRENING tutaj jest taki kod;
  1. SELECT * FROM tabela ORDER BY `trening` ASC


Drugi obrazek - tam ma być pierwsze 17 Zawodników (w takim układzie jak na obrazku ASC), czyli od 1 miejsca do 17 miejsca ale mają być pobierane czasy z TRENING2 i mają być tak samo posortowani w ASC, tam był błąd bo się pokazywał jeden czas który był za 17 miejscem chyba na miejscu chyba 19-20.

Trzeba by jakoś zrobić zapytanie tak:

" Wyszukaj w tabeli 17 Pierwszych wyników `Trening`(posortowane w ASC) I posortuj wyniki z Trening2 w ASC " - Coś takiego, ale nie wiem jak to zrobić



Edit: A taki kod jak ty dałeś to były takie same miejsce na w Trening tylko inne czasy.

Edit: tam pokazałem zły obrazek.. ale były takie same miejsca tylko inne czasy..

Ten post edytował Giluś 16.10.2011, 15:41:51
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: 19.08.2025 - 10:58