Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] tematy
dk1342
post
Post #1





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


Witam, po pierwsze nie chodzi mi o kod (gotowiec) tylko chce aby ktoś kto już robił własne forum mi to wyjaśnił.

Mam np. dział forum "cos" w tym dziale mam 3 tematy i na jakiej zasadzie zrobić że jeśli ktoś odpisze w pierwszym temacie który jest na liście trzeci (najstarszy temat) to pójdzie on na samą górę ? Nie wiem czy dokładnie wytłumaczyłem . Jeśli nie to pisać spróbuje inaczej.
Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




zapisujesz w tabeli tematy w polu czas czas ostatnio dodanego postu, potem wybierasz tematy z order by czas desc
Go to the top of the page
+Quote Post
dk1342
post
Post #3





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


I jeśli ktoś napisze post, to updatuje te pole z czasem ?
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




tak
Go to the top of the page
+Quote Post
dk1342
post
Post #5





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


//

Problem rozwiazany

A pole data w mysql ma być typem date czy time ? wprowadzam tam time(); wiec chyba time nie ?

Ten post edytował dk1342 18.12.2009, 17:38:02
Go to the top of the page
+Quote Post
Spawnm
post
Post #6





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




ale te tematy mają tą samą date (IMG:style_emoticons/default/tongue.gif) dodatkowo zapisuj to co daje time() a nie date() (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
dk1342
post
Post #7





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


Tak tak za uwarzyłem i poprawiłem zmieniłem typ pola date na timestap a date zapisuje time(); Działa, teraz dołączę posty i dalej będę testować. Dzięki.

Ten post edytował dk1342 18.12.2009, 17:42:08
Go to the top of the page
+Quote Post
lukasz_os
post
Post #8





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

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


W tabeli ustaw zamiast typu Date daj Datetime. Wtedy do bazy wprowadzaj dane tak: 'YYYY-MM-DD HH:MM:SS' i nie będziesz miał problemów. Potem sortuj wyniki po dacie i id (w razie jakby tematy miały ten sam czas).
Go to the top of the page
+Quote Post
dk1342
post
Post #9





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


A jak będzie wyglądało sortowanie po dacie i id ? order by 'id' and 'date' ?
Go to the top of the page
+Quote Post
lukasz_os
post
Post #10





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

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


  1. SELECT * FROM 'tematy' ORDER BY date,id


(IMG:style_emoticons/default/smile.gif)

Ten post edytował lukasz_os 18.12.2009, 17:44:54
Go to the top of the page
+Quote Post
dk1342
post
Post #11





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


Ok, tylko że źle sortuje

8||temat 1||tresc temat 1||2009-12-18 17:39:11
10||temat 3||tresc temat 3||2009-12-18 17:39:26
9||temat 2||tresc temat 2||2009-12-18 17:46:10

Jak widać temat 2 ma najnowszą date więc powinien być na samej górze, potem temat 3 i temat 1
Go to the top of the page
+Quote Post
lukasz_os
post
Post #12





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

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


Daj na końcu zapytania DESC.
Go to the top of the page
+Quote Post
dk1342
post
Post #13





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


Mam desc, próbowałem też zmienić na asc ale nic się nie działo i dalej tak samo:

$zapytaj = mysql_query('SELECT * FROM `forum_tematy` order by `data`,`id` desc');

edit: poszukałem na google i tak jest poprawnie:

$zapytaj = mysql_query('SELECT * FROM `forum_tematy` order by `data` desc,`id` desc');


działa (IMG:style_emoticons/default/smile.gif)

Ten post edytował dk1342 18.12.2009, 17:51:24
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: 28.08.2025 - 17:13