Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] jak posortowąć wyniki selecta według trzech pól?
puz219
post 15.04.2008, 17:26:21
Post #1





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 1.07.2007

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


Witam.

Chciałem sobie posortować wyniki zapytania do SQL według trzech pól (kolejność ma znaczenie): tytul, rok, potem user.

Wdawało mi się to łatwe, ale nie chce mi to działać, oto jak wygląda moje zapytanie:

  1. <?php
  2. $query = "SELECT * FROM news WHERE `topic` LIKE '%".$_GET["q"]."%' ORDER BY 'title', 'year', 'user_name' ";
  3. ?>


Co zrobić, żeby posortowalo wyniki według tych trzech pół ale w dokładnie takiej kolejności, znaczy chodzi o to, że nagłówek jest wyświetlany w taki sposób:

  1. <?php
  2. echo $row['title']." (".$row['year'].") - ".$row['user_name'];
  3. ?>


i bez ordera to sortuje według sam prawdę mówiąc nie wiem czego, a chcialbym, żeby były najpierw posortowane według tytułów, jeśli tytuły są identyczne, to, żeby wtedy ładnie posortowało według roku, a jeśli tytuł i rok są takie same to niech posortuje według nazwy użytkownika.

Proszę o pomoc.

Pozdrawiam.
Go to the top of the page
+Quote Post
nevt
post 15.04.2008, 17:40:23
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


zapytanie masz zasadniczo poprawne, tylko pomieszał ci się ' (apostrof - ogranicza łańcuch znakowy) oraz ` (odwrotny apostrof - ogranicza nazwy pól, tabel, baz) zatem popraw:
  1. ... ORDER BY `title`, `year`, `user_name`;
i będzie ok.


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
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: 10.07.2025 - 04:55