Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

malo kompliciraniji mysql upit

[es] :: PHP :: malo kompliciraniji mysql upit

[ Pregleda: 1961 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dado_k
Varaždin

Član broj: 57122
Poruke: 300
*.cmu.carnet.hr.

ICQ: 326865106
Sajt: radim baš novi sajt u ph..


Profil

icon malo kompliciraniji mysql upit 27.10.2005. u 21:50 - pre 224 meseci
dakle ovako imam ovaj upit kod foruma kojeg izrađujem

"SELECT id,naslov FROM forum WHERE kategorija='$k' AND sub_id=0 ORDER BY vrijeme DESC"

ovaj kod šljaka super no imam jedan problem evo da vam malo dočaram situaciju:

sub_id ustvari označava o čemu se radi ukoliko je sub_id=0 riječ je o TEMI a ukoliko je neki drugi broj npr 5 tada je to odgovor na temu kojoj je id=5

e sad šta ja hoću je proširiti ovaj upit tako da se sve poreda po vremenu (kao sada) ALI da se uzmu u obzir i ODGOVORI a ne samo TEME dakle netko dođe na sajt i otvori neku starju temu koja je na dnu liste i odgovori na nju ŽELIM da se ta tema automatski smjesti na vrh (ista stvar je i kod ovog foruma) dakle kako ovo izvesti mislim da se može sa čistim mysql-om al nisam siguran a i nisam takav expert za mysql! hvala svima!
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



+3 Profil

icon Re: malo kompliciraniji mysql upit 27.10.2005. u 22:19 - pre 224 meseci
mozda gresim, ali:

"SELECT id,naslov FROM forum WHERE kategorija='$k' ORDER BY vrijeme DESC"

zar to ne bi trebalo da bude to :)

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

dado_k
Varaždin

Član broj: 57122
Poruke: 300
*.cmu.carnet.hr.

ICQ: 326865106
Sajt: radim baš novi sajt u ph..


Profil

icon Re: malo kompliciraniji mysql upit 27.10.2005. u 22:27 - pre 224 meseci
ije opet tako jednostavno mislim mogu onda sa php-om obraditi rezultate al ja sam namjeravao da mi vrati van samo teme šta ću sa odgovorima kad je to stranica na kojoj se ispisuju teme dobro to sam mislio upotrijebiti ako ne postoji bolje riješenje u svakom slučaju hvala!
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.dialup.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: malo kompliciraniji mysql upit 28.10.2005. u 00:23 - pre 224 meseci
Probaj nešto ovako
Code:
SELECT DISTINCT
    tema.id AS tema_id,
    tema.naslov AS tema_naslov
FROM
    forum AS tema,
    forum AS poruka
WHERE
    tema.kategorija = '$k' AND
    tema.sub_id = 0 AND
    (
        poruka.sub_id = tema.id OR
        poruka.id = tema.id
    )
ORDER BY poruka.vrijeme DESC
LIMIT $od, $do

 
Odgovor na temu

dado_k
Varaždin

Član broj: 57122
Poruke: 300
*.cmu.carnet.hr.

ICQ: 326865106
Sajt: radim baš novi sajt u ph..


Profil

icon Re: malo kompliciraniji mysql upit 28.10.2005. u 10:06 - pre 224 meseci
ne,neradi nažalost
dakle ovako
i teme i odgovori su u istoj tabeli to je jasno.

al ja van hoću samo dobit teme na osnovu vremena zadnjeg odgovora ili ukoliko nema odgovora onda na osnovu vremena teme
i u temama i u odgovorima uvijek su sva polja popunjena!
dakle imamo
Code:

 id         sub_id         naslov         poruka         autor         vrijeme          kategorija

1         0              nova tema1       poruka          ---              100       nijebitno

2         0            nova tema2       poruka          autor               101         nijebitno


dakle sad bi se posložile ovak najprije bi išla nova tema2 mpa onda nova tema1
sao onim upitom i to je ok
al sad imamo recimo ovo
Code:

 id         sub_id         naslov         poruka         autor         vrijeme          kategorija

1         0              nova tema1       poruka          ---              100       nijebitno

2         0            nova tema2       poruka          autor               101         nijebitno

3         1           re:nova tema1       poruka          autor             105         nijebitno


i sad automatski da mi
bude
nova tema1
nova tema1

jer je odgovor na temu1 postan kasnije nego je postavljena tema2
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.infonova.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: malo kompliciraniji mysql upit 28.10.2005. u 10:38 - pre 224 meseci
Meni je struktura te tabele nekako zbunjujuca i ne cini mi se bas efikasnom...
Zasto u sub_id smjestas i id teme i id odgovora? Ja bih to razdvojio i povezao agregatnom tabelom...

Kada bi imao razdvojene ID-ove od tema i odgovora, onda bi mogao da ubacis
Code:
GROUP BY tema_id
ORDER BY vrijeme DESC

u svoj upit...
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

dado_k
Varaždin

Član broj: 57122
Poruke: 300
*.cmu.carnet.hr.

ICQ: 326865106
Sajt: radim baš novi sajt u ph..


Profil

icon Re: malo kompliciraniji mysql upit 28.10.2005. u 10:49 - pre 224 meseci
[qoute]Zasto u sub_id smjestas i id teme i id odgovora?
[/quote]
ne smještam nikakav id odgovora!
ukoliko je sub_id=0 znam automatski da je riječ o temi a ukoliko nije onda je riječ o odgovoru na temu sa jednakim id-em kao ovaj sub_id!

a sad mi se neda to sve preispravljati puno je to posla! jako puno
nešto konkretno
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.infonova.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: malo kompliciraniji mysql upit 28.10.2005. u 10:56 - pre 224 meseci
Cek, cek...
Citat:
ne smještam nikakav id odgovora!
ukoliko je sub_id=0 znam automatski da je riječ o temi a ukoliko nije onda je riječ o odgovoru
Kako ne smjestas, kad si upravo jos jednom potvrdio, da smjestas id zavisno da li je rijec o temi ili odgovoru!?

Konkretno sam ti rekao da odvojis to i da koristis onda GROUP BY. Sta konkretnije jos da ti kazem?

Kazes da ti je to puno posla? To je 10-20 minuta vremena. Da je i par sati, opet ce ti se isplatiti.
Ako si lijen, pa ti se ne da, to je vec druga stvar... Mozda postanu i lijeni, oni koji bi ti mozda dali odgovor...
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
194.247.222.*

Sajt: www.novikorisnik.net


+5 Profil

icon Re: malo kompliciraniji mysql upit 28.10.2005. u 11:08 - pre 224 meseci
ako nećeš da razdvajaš, promeni taktiku... ček malo da ti je pripremim...

update forum set sub_id = id where sub_id = 0

pa ti je sada spisak vodećih poruka teme...

select * from forum where sub_id = id

umesto

select * from forum where sub_id = 0

nije strašna razlika, zar ne?

[Ovu poruku je menjao noviKorisnik dana 28.10.2005. u 12:11 GMT+1]

e da, dalje ne znam :-)

[Ovu poruku je menjao noviKorisnik dana 28.10.2005. u 12:15 GMT+1]
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: malo kompliciraniji mysql upit 28.10.2005. u 11:52 - pre 224 meseci
Citat:
noviKorisnik: update forum set sub_id = id where sub_id = 0

Hehe, to je i meni palo na pamet.

Onda će običan GROUP BY sub_id rešiti stvar.
 
Odgovor na temu

dado_k
Varaždin

Član broj: 57122
Poruke: 300
*.cmu.carnet.hr.

ICQ: 326865106
Sajt: radim baš novi sajt u ph..


Profil

icon Re: malo kompliciraniji mysql upit 28.10.2005. u 18:06 - pre 224 meseci
OK bum probal ovak HVALA noviKorisniče
 
Odgovor na temu

[es] :: PHP :: malo kompliciraniji mysql upit

[ Pregleda: 1961 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.