ugrás a tartalomhoz

Php-val hírek rendezése, kiírása

geforce9600gt · 2013. Már. 18. (H), 14.10
Hello

Elmentek táblába híreket, cím, leírás....és a beküldés idejét is. (dátum,idő).

Az oldalon most a híreket kilistázom a beküldés ideje szerint csökkenőben. De ezt a kilistázást olyan sorrendben szeretném, hogy amelyik hírhez éppen hozzászólt valaki, akkor az legyen a legelső, és így tovább. Tehát így aktivitás szerint, vagy hogy mondjam. Erre kérnék valami módszert vagy útmutatást. Köszönöm

A táblában ezek a mezők vannak hozzá:
(Cim,Tema,Kerdes,Userid,Datum,Megoldas,Status,Kep)

Status=még nincs rá válasz,valaki válaszolt már, megoldott téma,hír
Megoldas= az elfogadott válasz ID-je.
 
1

Meddig jutottal?

janoszen · 2013. Már. 18. (H), 14.21
Onallo probalkozassal meddig jutottal?
3

Még el se kezdtem ezt a

geforce9600gt · 2013. Már. 18. (H), 14.39
Még el se kezdtem ezt a részét, csak a idő szerinti listázás van meg, mivel nemtudom, hogy csináljam. Épp azért kérdeztem. :)
2

Kapcsolat?

Poetro · 2013. Már. 18. (H), 14.34
Én sajnos nem látom a kapcsolatot a hír és a hozzászólás között. Ezt a kapcsolatot fel kellene építeni, ez alapján kellene csinálni egy JOIN-t, majd rendezni. Ne feledd, hogy a JOIN 1:N kapcsolatot fog eredményezni, ahol az N lehet 0 is. Például akkor, amikor még nem született hozzászólás. Ezt az esetet is kezelni kellene.
4

Akkor kellene egy olyan tábla

geforce9600gt · 2013. Már. 18. (H), 14.41
Akkor kellene egy olyan tábla hogy válasz, és abba elmenteni az adott kérdésnek vagy hírnek az ID-jét is? Nem nagyon látom ezt át az a baj így most hirtelen.
5

vagy mondjuk a kerdes táblába

geforce9600gt · 2013. Már. 18. (H), 14.43
vagy mondjuk a kerdes táblába még belerakni egy utolsó válasz mezőt?
6

De ezt a kilistázást olyan

Poetro · 2013. Már. 18. (H), 14.51
De ezt a kilistázást olyan sorrendben szeretném, hogy amelyik hírhez éppen hozzászólt valaki, akkor az legyen a legelső, és így tovább.

Honnan tudod, hogy a hírhez hozzászólt valaki? Ha ezt nem tudod, akkor nincs mi alapján rendezni, ergo az egész kérdésed okafogyottá válik.
7

Akkor hogy kellene ezt? :)

geforce9600gt · 2013. Már. 18. (H), 15.01
Akkor hogy kellene ezt? :)
8

már leírták

Akron · 2013. Már. 18. (H), 15.22
geforce9600gt leírta az egyik lehetséges megoldást.
A hírek táblába vegyél fel egy utolsó hozzászólás dátuma mezőt. Amikor egy hozzászólás érkezik a hírhez ennek értékét updateled. Listázáskor pedig erre a mezőre már tudsz rendezni.
9

Közben nekem is eszembejutott

geforce9600gt · 2013. Már. 18. (H), 15.49
Közben nekem is eszembejutott egy módszer.

Amikor felviszek egy új hírt, akkor annak ugye mentem a dátumát, idejét is.

A hírek táblába berakok egy utolsó válasz mezőt is. Ennek értéke alapból a hír felvételének ideje, de hogyha hozzászólnak, akkor update-elem az uj hozzászólás beküldésének idejére. Szerintetek?
10

Ez egy működőképes megoldás.

Joó Ádám · 2013. Már. 18. (H), 17.55
Ez egy működőképes megoldás.
11

Jó megoldás

Pepita · 2013. Már. 19. (K), 17.15
A hozzászólások kezelése már nem lesz ilyen egyszerű, ha az ittenihez hasonló fastruktúrában akarod megjeleníteni. Ilyenkor a commenteknek kell szülő_id mező is, valamint egy olyan, amit talán szálnak érdemes nevezni. A Drupal megoldása olyan jó, hogy én abból kiindulva csináltam nagyon hasonlót. Javaslom, hogy te is tanulmányozd.
12

subquery + kettős rendezés?

gyoridavid · 2013. Már. 19. (K), 17.51
Ilyesmire gondolok:
SELECT id, cim, tema, kerdes, userid, datum, megoldas, status, kep, (SELECT datum FROM hozzaszolas WHERE hir_id = hirek.id ORDER_BY id DESC LIMIT 1) AS utolso_hozzaszolas FROM hirek ORDER_BY utolso_hozzaszolas DESC, datum DESC
13

9-es

Pepita · 2013. Már. 19. (K), 19.07
9-es hozzászólásában már leírt egy jó megoldást. A táblák descart-szorzata a legtöbb esetben rossz, lusta megoldás.