Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]sortowanie na podstawie wiecej niz jednego pola
shreker
post
Post #1





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


Mam pytanie, czy da się sortować dane z bazy na podstwaie wiecej niz jednego pola. Mamy np. pola w tabeli: id, imie, nazwisko, kod, adres, ...
mam zapytanie obecne: select * from tabela order by nazwisko asc
a chciałbym żeby sortowanie odbywało się po nazwisku i imieniu.
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Mephistofeles
post
Post #2





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


ORDER BY nazwisko, imie ASC
Go to the top of the page
+Quote Post
shreker
post
Post #3





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


próbowałem, niestety nie działa :-(
Go to the top of the page
+Quote Post
potreb
post
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Jak nie działa, nie sortuje po nazwisku?
Go to the top of the page
+Quote Post
shreker
post
Post #5





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


czytanie ze zrozumieniem: sortowanie na podstawie wiecej niz jednego pola

Ten post edytował shreker 13.12.2010, 19:45:01
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




shrek ty sie nie oburzaj tylko sam czytaj ze zrozumieniem. To co dostales dziala. Kazdemu z nas dziala tylko tobie jednemu nagle nie...
moze źle skopiowales, moze dziala inaczej niz myszlisz.... podaj wiec laskawie swoj kod po zmianach, podaj dane, podaj jakiego sortowania oczekiwales a nie sie tu burzysz.

powtarzam: kod co dostales dziala.
Go to the top of the page
+Quote Post
shreker
post
Post #7





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


całe zapytanie wygląda dokładnie tak: select * from tabela order by nazwisko, imie asc limit $startpoint,$perpage
jest to zapytanie w funkcji stronicującej. kiedy sortuje według naziska, albo imienia - działa bez problemów, natomiast kiedy to połączyłem to sortuje tylko według nazwiska. Co do burzenia się to nie burzę się, ale pytanie potreba zostało sformułowane jakby miało sortować po nazwisku, a nie sortowało, więc nie ma co się dziwić że napisałem o czytaniu ze zrozumieniem. Skoro jednak ma to działać a nie działa, to co może być powodem ?
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Moze ty poprostu inaczej niz my rozumiesz "sortowanie po nazwisku i imieniu" (IMG:style_emoticons/default/smile.gif)
Powtarzam jeszcze raz. Pokaz dane po sortowaniu a nastepnie pokaz jakiego wyniku oczekiwales.
Go to the top of the page
+Quote Post
shreker
post
Post #9





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


sortowanie rozumiem tak:
przed sortowaniem:
(nazwisko, imie)
b, a
c, d
a, b
d, c
obecnie mam tak:
a, b
b, a
c, d
d, c
a ma być:
a, a
b, b
c, c
d, d

proste ? co w tym niezrozumiałego ?

Ten post edytował shreker 13.12.2010, 20:46:54
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
proste ? co w tym niezrozumiałego ?
No widzisz, znowu sie burzysz i znowu bez powodu. Tak, to jest proste. ALe niestety to ty nie rozumiesz na czym polega sortowanie po dwóch polach. Tak wiec sie nie burz na przyszlosc tylko sie doksztalc (IMG:style_emoticons/default/winksmiley.jpg)

sortowanie po dwoch polach polega na tym, ze gdy pierwsze pole bedzie kilka takich samych wartosci, to wowczas te rekordy zostana posortowane po drugim polu. Czyli u Ciebie wynik jest jak najbardziej prawidlowy. A ze ty sortowanie rozumiesz zupelnie inaczej to juz inna bajka (IMG:style_emoticons/default/tongue.gif)

Cytat
a ma być:
a, a
b, b
c, c
d, d
Jakim cudem ci to w ogole moglo przyjsc do glowy? Przeciez przy takim sortowaniu kolumny mają wartosci z roznych rekordow. A zapytanie select nie miesza wartosci rekordow, tylko rekord traktuje jako rekord a nie mieszanke kilku
Go to the top of the page
+Quote Post
shreker
post
Post #11





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


nie do końca nospor. dla przykładu: masz:
1. kowalski jan
2. kowalski zbigniew
3. kowalski adam

Jak według ciebie powinno być to posortowane, bo według mnie w kolejności: 3, 1, 2. Chyba że jest inne sortowanie.
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
, bo według mnie w kolejności: 3, 1, 2.
Dokladnie w takiej. Cieszę się, ze wkoncu zalapales, bo to co pokazales w poprzednim poscie to bylo dalekie od "zalapania" (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
shreker
post
Post #13





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


nospor, ale mi od samego początku o to właśnie chodziło. Tylko dalej nic z tego nie wynika. Skoro zapytanie jest dobre, to co może być powodem że dane są sortowane tylko według nazwiska?
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
ale mi od samego początku o to właśnie chodziło.
NIe, w tym poscie:
Cytat
sortowanie rozumiem tak:
przed sortowaniem:
(nazwisko, imie)
b, a
c, d
a, b
d, c
obecnie mam tak:
a, b
b, a
c, d
d, c
a ma być:
a, a
b, b
c, c
d, d
Przedstawiles ZUPELNIE inna idee sortowania.

Pokaz wiec jeszcze raz wszystkie dane, nie zadne a b c d tylko poprawne dane, gdzie sa inne nazwiska a nie tylko kowalski, bo podejrzewam ze jednak nadal masz na mysli inne sortowanie (IMG:style_emoticons/default/smile.gif)

No dobra, a dla takich danych w jakiej kolejnosci baza zwraca ci dane
1. kowalski jan
2. kowalski zbigniew
3. kowalski adam
4. awangarda zbigniew

? Bo ustalilismy ze powinna zwracac tak:
awangarda zbigniew
kowalski adam
kowalski jan
kowalski zbigniew

A tobie jak zwraca?
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
shreker
post
Post #15





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


zwraca w kolejnosci: 4, 1, 2, 3. czyli według samego nazwiska, jeżeli dam według imienia to będzie według imienia, ale w połączeniu sortuje tylko według nazwiska. nie mam pojęci już co może być powodem ?
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Pokaz zrzut ekranu z PMA bo ci normalnie nie wierze (IMG:style_emoticons/default/smile.gif)
Tylko taki zrzut, zeby bylo widac wprowadzone zapytanie (IMG:style_emoticons/default/smile.gif)

ps: bo sprawdzales to w PMA? Bo jesli opierasz sie tylko na swoim skrypcie php, to prawdopodobnie gdzies sie jarbnąłeś.
Go to the top of the page
+Quote Post
shreker
post
Post #17





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


zapytanie jest na pewno ok, bo próbowałem na innej tabeli, z innymi danymi i hula. a na tej dupa. Jak namierzyc gdzie tkwi błąd !?!?!

cały skrypt pisałem sam, i podejrzewam że coś jest walnięte w skrypcie, tylko jak to najprościej namierzyć, CO (IMG:style_emoticons/default/exclamation.gif)

przedtem stronicowanie miałem oparte o starą wersję twego stronicowania, to zechciało mi się kombinacji i pisania swego stronicowania, szlag by to trafił (IMG:style_emoticons/default/exclamation.gif) !!!
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004





to zacznijmy od podstaw:
1) Temat: Jak poprawnie zada pytanie
2) jak sie zastosujesz do pierwszego, to pokaz kod. A potem pokaz dokladnie co ci zwrocil twoj skrypt. Nie zadne przykladowe dane, tylko dokladnie.
Go to the top of the page
+Quote Post
shreker
post
Post #19





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 21.05.2008

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


posiedzę jeszcze poszukam może dojdę, w czym problem, pewnie jakaś pierdoła, tylko od czego zacząć ...
Go to the top of the page
+Quote Post
nospor
post
Post #20





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
tylko od czego zacząć ...
(IMG:style_emoticons/default/blinksmiley.gif)
Przeciez w poprzednim poscie podalem ci dwa punkty. Od nich masz zaczac....Twoje slowa:
Cytat
czytanie ze zrozumieniem:
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 03:06