![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Część, mam takie pytanie jak zrobić coś takiego, robię zapytanie do mysql, aby wyświetlił wszystkie wyniki do mysql pogrupowane w ASC (od najlepszego do najgorszego) i później wyświetlam to w pętli WHILE i ustawiają mi się wyniki w własnie w pozycji ASC mniej więcej coś takiego:
Kod Imie, Rok Urodzenia Marcin, 2011 Kuba, 2010 Jakub, 2009 Karol, 2008 Michał 2007 Adam 2006 Kuba 2005 Antek 1900 A teraz chciałbym dodać różnice między wynikiem późniejszym, a wcześniejszym mniej więcej aby coś takiego to było: Kod Imie, Rok Urodzenia, Różnica Marcin, 2011, 0 Kuba, 2010, 1 Jakub, 2009, 1 Karol, 2008, 1 Michał 2007, 1 Adam 2006, 1 Kuba 2005, 1 Antek 1900, 1 Jak takie coś zrobić aby odjąć wynik np 1 od 2 ?. Realne to chyba jest, ale jak to zrobić ? Ten post edytował Giluś 15.10.2011, 09:19:42 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie działa ;/.
Dla testów zastosowałem to do samych ID i wpisałem tak
To wyskakuję przy każdym "-2" A mam takie id: 1, 2 i 3 Tak jak by pierwsze ID odejmowało się od ostatniego bo tylko tak może wyjść "-2" (edit: zrobiłem test i dałem zamiast minusa, dałem plusa i wyszło "4" wiec to moje przypuszczenie jest poprawne ze pierwszy rekord odejmuję się od ostatniego.) Macie, może jakieś propozycje jak udoskonalić to ? Edit.: A jak by tak dać zapytanie mysql
I ustawić limit. Przed tą pętlą while którą mi wyświetla wszystkie wyniki dać np taki kod: $limit = 0 i później w pętli: $limit += 1, ale jak to później ustawić w mysql, próbowałem tak:
ale również nie działało. Ten post edytował Giluś 15.10.2011, 08:50:50 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 176 Pomógł: 18 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Jeśli dobrze Cię rozumiem, to potrzebujesz pobrać nr rekordu z posortowanej tablicy (chyba, że źle rozumiem ![]() Jeśli jest tak ja myślę, to wystarczy użyć poniższego kodu (odpowiednio przerobionego do Twoich potrzeb)
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie, nie potrzebuje pobrać id z posortowanej mysql.
Jak najprościej to wytłumaczyć: Na stronie wyświetla mi się takie coś: Kod id ,Imie, Rok Urodzenia 1. Marcin, 2011 3. Kuba, 2010 6. Jakub, 2009 2. Karol, 2008 4. Michał 2007 7. Adam 2006 5. Kuba 2005 8. Antek 1900 A ja chce odjąć np Rok Urodzenia Karola od Jakuba np.: 2009 - 2008 i wychodzi 1, wiec takie coś chciałbym aby wyszło na stronie: Kod id ,Imie, Rok Urodzenia 1. Marcin, 2011 0 (bo tyle wyjdzie jak bedzie 20011 - 2011) 3. Kuba, 2010 1 (bo tyle wyjdzie jak bedzie 2011 - 2010) 6. Jakub, 2009 1 (bo tyle wyjdzie jak bedzie 2009 - 2010) 2. Karol, 2008 1 4. Michał 2007 1 7. Adam 2006 1 5. Kuba 2005 1 8. Antek 1900 Tak aby to działało np na przykładzie sekund: 1. Marcin, 100, 0 ( bo 100- 100 = 0) 2. Kuba, 54, 45 (bo 100-54 = 46) 3. Karol, 30, 24 (bo 54-30 = 24) 4. Michał, 20, 10 (bo 30-20 = 10) Rozumiesz ? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 176 Pomógł: 18 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
No i jeszcze sposób by @nospor
Pozdrawiam Edit Poszukaj w manualu Edit Przerobiłem poprzedni przykład w ten sposób, wydaje się chodzić dobrze
Ten post edytował pianta_d 15.10.2011, 09:39:14 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Poszukałem, ale tam nie ma raczej mojego problemu, a @croc, też chyba troszkę zle napisałeś bo pokazuję on chyba 1 wynik, czyli podobnie jak napisał to @CuteOne.
Jak ja sobie to myślę (a jestem praktycznie lalik) to trzeba by zrobić zrobić tak:
Tak bym to zrobił, ale nie działało mi to.. wyskakiwał mi jakiś błąd z limitem. Edit.: No tak, ale i tak muszę zrobić to na 2 tablicę, wiec i tak muszę JAKOŚ pobrać w pierwszej tablicy wszystkie rekordy, a w drugiej o jeden niżej/wyżej. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Napisz DOKŁADNIE przykładowe dane, które chcesz otrzymać. Piszesz jedno, a z przykładu wynika coś innego. I niech to będzie przykład inny niż 1, 1, 1, 1...
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam baze danych MySQL która ma taką zawartość:
Kod ID|IMIE|CZAS| 1|MARCIN|400| 2|KUBA|370| 3|MICHAL|320| 4|KAROLINA|150| 5|ADRIAN|99| 6|DAWID|200| 7|DOMINIK|300| Robię zapytanie aby je wyświetlić w kolejności od najlepszego do najgorszego:
Wyświetla się w takiej kolejności: IMIE - Czas MARCIN - 400 KUBA - 370 MICHAŁ - 320 DOMINIK - 300 DAWID - 200 KAROLINA - 150 ADRIAN - 99 A ja chce dodać różnice między czasami, na tym przykładzie tak to miało by wyglądać: IMIE - Czas - RÓŻNICA MARCIN - 400 - 0 (400 - 400 = 0) KUBA - 370 - 30 (400 - 370 = 30) MICHAŁ - 320 - 50 (370 - 320 = 50) DOMINIK - 300 - 20 (320 - 300 = 20) DAWID - 200 - 100 (300 - 200 = 100) KAROLINA - 150 - 50 (200 - 150 = 50) ADRIAN - 99 - 51 (150 - 99 = 51) * w nawiasach jak to zostało policzone Zrozumiałeś czy coś jeszcze dopowiedzieć ? |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
No to moje rozwiązanie było dobre, tylko myślałem, że chodzi Ci o różnice w latach. Zamień $row['rok'] na $row['wynik'] w moim rozwiązaniu tam gdzie trzeba i powinno działać.
P.S. Swój ostatni przykład znów źle podałeś, bo czas ma być podobno rosnąco, a nie malejąco. Widzisz ile znaczy staranne zadawanie pytania. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Każdy kto napisał posta w temacie otrzymał POMÓGŁ, wiec dziękuje każdemu za pomoc, ale poprawną odpowiedz na moje pytanie odpowiedział @croc - Dziękuje Bardzo.
Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 10:27 |