Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL] Stała kolejność dodawania rekordów
Vafel
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 1.10.2011

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


Witam, czy jest możliwe, aby ustawić w bazie danych odpowiednią kolejność dodawania rekordów? Chciałbym, aby rekordy szły mi "do góry", a nie w dół i nie chodzi o to, że chce mieć tak wyświetlone, tak musi być w danych bazy.

I czy ewentualnie da się to poukładać wstecz w odniesieniu do konkretnego pola z numerem id.

Ten post edytował Vafel 3.10.2011, 14:02:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





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




Napisz może co chcesz osiągnąć, bo w 90% przypadkach jak ten ludzie poprostu kombinują jak koń pod górkę.
Go to the top of the page
+Quote Post
Vafel
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 1.10.2011

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


Z ta bazą danych faktycznie trochę przekombinowane, ale nie poradzę sobie z zapytaniem sam.

  1. $sql = "SELECT user_agent, COUNT(*) as how_much
  2. FROM " . POSTS_TABLE . "
  3. WHERE poster_id = $user_id
  4. GROUP BY user_agent
  5. ORDER BY post_id DESC LIMIT 10";


Chcę, aby pogrupowane wiersze według user_agent, czyli system, przeglądarka, były posortowane według użycia jej w danym poście (post_id) malejąco. W tym przypadku najpierw grupuje, potem sortuje, ale według pierwszego posta z tej przeglądarki, czyli najstarszego, a ma sortować według najnowszego.

Dam screena, jak to wygląda, bo może byc niezrozumiale.

(IMG:http://i56.tinypic.com/2dqit1w.jpg)

Więc dajmy na to, post na xp, był napisany wcześniej, niż na win7, więc logiczne, że win7 jest wyżej, ale jeżeli napiszemy znów posta na xp, kolejność się nie zmienia, bo sortuje patrząc na pierwszy post z tego systemu, a nie ten najnowszy. Gdyby patrzyło na najnowszy, winXp przeskoczyłby wyżej, ponieważ ostatni post użytkownika był właśnie napisany na tym systemie, ale tak nie jest.

Wiem, że da się to jakoś zrobić przez połączenie zapytań, niestety ja już wysiadam, nie jestem jeszcze na takim poziomie (IMG:style_emoticons/default/smile.gif) Jakby ktoś mógł mi to przerobić na szybko, byłoby super (IMG:style_emoticons/default/smile.gif)

Ten post edytował Vafel 3.10.2011, 21:19:26
Go to the top of the page
+Quote Post
YaQzi
post
Post #4





Grupa: Zarejestrowani
Postów: 94
Pomógł: 31
Dołączył: 12.10.2008
Skąd: WAT

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


  1. ORDER BY post_id

zmień na
  1. ORDER BY MAX(post_id)


jeśli dobrze zrozumiałem to powinno pomóc
Go to the top of the page
+Quote Post
Vafel
post
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 1.10.2011

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


Sprawa została rozwiązana inaczej.
Go to the top of the page
+Quote Post

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: 22.08.2025 - 15:18