Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] jak posortowąć wyniki selecta według trzech pól?
Forum PHP.pl > Forum > Przedszkole
puz219
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.
nevt
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.