Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] tematy
Forum PHP.pl > Forum > Przedszkole
dk1342
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.
Spawnm
zapisujesz w tabeli tematy w polu czas czas ostatnio dodanego postu, potem wybierasz tematy z order by czas desc
dk1342
I jeśli ktoś napisze post, to updatuje te pole z czasem ?
Spawnm
tak
dk1342
//

Problem rozwiazany

A pole data w mysql ma być typem date czy time ? wprowadzam tam time(); wiec chyba time nie ?
Spawnm
ale te tematy mają tą samą date tongue.gif dodatkowo zapisuj to co daje time() a nie date() smile.gif
dk1342
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.
lukasz_os
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).
dk1342
A jak będzie wyglądało sortowanie po dacie i id ? order by 'id' and 'date' ?
lukasz_os
  1. SELECT * FROM 'tematy' ORDER BY date,id


smile.gif
dk1342
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
lukasz_os
Daj na końcu zapytania DESC.
dk1342
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 smile.gif
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.