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

Pitanjce oko MySql-a....

[es] :: PHP :: Pitanjce oko MySql-a....

[ Pregleda: 3872 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Panoramix
Bg

Član broj: 3979
Poruke: 8
*.InfoSky.Net



Profil

icon Pitanjce oko MySql-a....06.06.2002. u 09:36 - pre 266 meseci
Pozdrav.....

Problem je sledeci...

Tabele i polja (samo ona koja su bitna za ovo pitanje) su:

Iz Tabele1
ID -- ovo je ID korisnika tipa intiger, primary key
LogName --- Korisnik
Iz Tabele2

GPID --- integer , oznacava grupu kojoj pripada poruka
TPID --- integer , oznacava temu kojoj pripada poruka
RBUT --- integer , redni broj poruke u temi, pocinje sa 1 i ide dalje,2,3,4...
KID --- integer, index korisnika koji je napisao poruku...
Vreme --- timestamp(14), vreme ostavljanja poruke...
Naslov --- text, naslov poruke....

Naravno, u pitanju je MySql, i naravno kao sto ste pretpostavili , u pitanju je forum...

I na kraju konacno problem...


To ima i na ovom forumu...znaci ona stranica koja prikazuje tekuce teme u grupi,
i sad su one poredjane po vremenu kada su zadnji put postovane... Od najskorije ka onim ranije
postovanim, i na kraju stoji vreme i korisnik...

Znaci kako to napraviti, A DA SE NE KORISTI QUERY UNUTAR NEKE PETLJE...

Imam ja napravljeno , znaci odvojim sve poruke sa RBUT=1, ali sada ne mogu da nadjem nacin,
a da to ne bude unutar petlje
While ($bla=mysql_fetch_array(...)) // sve poruke sa RBUT=1
{
...

i Ovde sad za svaku ispitujem ko je napisao tu prvu,(novi query)
koja je poruka stigla poslednja,sa istim TPID-om,
i ko je napisao tu poslednju (jos jedan nov query)

....
ispisujem to kao jedan row u tabeli

}


U stvari, da li se i koliko treba izbegavati ovakav nacin zahteva od
Mysql servera, mislim to radi brzo kod mene na localhostu, ali, kako ce kad ga postavim negde....
Nadam se da je sve bilo jasno oko opisa problema
AHHH!!! Proradi krntijo nijedna!!!
...I kad sam poceo da te pisem!! .... Mrzim te.......!!!
 
Odgovor na temu

dwarf
Beograd, Srbija

Član broj: 1328
Poruke: 336
*.yubc.net



Profil

icon Re: Pitanjce oko MySql-a....06.06.2002. u 16:35 - pre 266 meseci
Moram priznati da sam blago zbunjen. 'Ajde dodaj samo objasnjenje sta ti je grupa a sta tema???
 
Odgovor na temu

Panoramix
Bg

Član broj: 3979
Poruke: 8
*.dial.InfoSky.Net



Profil

icon Re: Pitanjce oko MySql-a....06.06.2002. u 20:59 - pre 266 meseci
Grupa ti je kao sto ovde imas na forumu PHP, ili DataBase..ili Linux..ili...


a tema ti je posle u okviru toga ...eto bas kao ovo moje pitanje...i svi odgovori na njega spadaju u jednu temu, imaju isti TPID... Kapiras?...

To grupa nije ni vazno.... nego mi je vazno ono oko redosleda ovih tema.......
bas sad..kad ja postujem ovu poruku...ona ce doci na prvo mestu u ovoj grupi (PHP)...

znaci...... bas kako je na ovom forumu...
pitanje je da li to moze iz nekoliko Querija ili moram sa petljom....
AHHH!!! Proradi krntijo nijedna!!!
...I kad sam poceo da te pisem!! .... Mrzim te.......!!!
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Pitanjce oko MySql-a....06.06.2002. u 22:08 - pre 266 meseci
Ako sam ja dobro razumeo sta ti treba,

rbut mozes da izbacis potpuno, a radi select iz druge tabele i to:

select * from tabela2 where TPID=$tpid order by Vimestamp desc;

A probaj i sa 'order by Vreme' bez ovog 'desc' sto znaci descending, pa vidi sta ti vise odgovara.

Ukoliko hoces istim queryjem da vadis i podatke iz prve tabele, ostavi ovaj order by kako jeste, samo uradi obican join i uzmi polja koja ti trebaju iz bilo koje od tih tabela.
 
Odgovor na temu

Divine
Miloš Šaković
IT Manager
Yugoslavia

Član broj: 883
Poruke: 108
*.cg.yu

ICQ: 16044064
Sajt: www.divine.cg.yu


Profil

icon Re: Pitanjce oko MySql-a....07.06.2002. u 09:45 - pre 266 meseci
Mislim da sam dobro shvatio:

users:
u_id
u_name

posts:
p_id
p_name
p_gid
p_uid
p_date

group:
g_id
g_name
Code:

select * from `[i]posts[/i]` order by `[i]p_date[/i]` desc, `[i]p_id[/i]` desc;

onda za svako izlistavanje poruke on radi novi query da bi dobio username:
Code:

select * from `[i]users[/i]` where `[i]u_id[/i]` = $row['p_uid'];

varijanta gdje sve dobijas u jednoj "tabeli":
Code:

select * from `[i]users[/i]`, `[i]posts[/i]`, `[i]group[/i]`
 where `[i]p_gid[/i]` = `[i]g_id[/i]` and `[i]p_uid[/i]` = `[i]u_id[/i]` 
 order by `[i]p_date[/i]` desc, `[i]p_id[/i]` desc;


I see dead people...
 
Odgovor na temu

Panoramix
Bg

Član broj: 3979
Poruke: 8
*.beotel.net



Profil

icon Re: Pitanjce oko MySql-a....09.06.2002. u 15:45 - pre 266 meseci
UHHHh....... Pa probao sam ovo sto ste se trudili da smislite, ali ...nekako nije to to...
i razradjivao sam.......ali nije to.... hvala u svakom slucaju

Ali evo sta sam ja smislio...

CREATE TEMPORARY TABLE Temp1 SELECT min(Vreme) as PocVreme FROM Poruke
where GPID=$grupa group by TPID;
// nalazim vremena prvih poruka u svakoj od Tema i smestam u Temp1.

CREATE TEMPORARY TABLE Temp11 SELECT Naslov,TPID,LogName as PocLogName from Korisnici,Poruke,Temp1
where Temp1.PocVreme=Poruke.Vreme and Poruke.KID=Korisnici.ID;
// odvajam potrebne podatke iz prvih poruka
(Naslov,Index Teme, Ime Korisnika
koji je zapoceo Temu)

CREATE TEMPORARY table Temp2 SELECT max(Vreme) as ZadVreme from Poruke
where GPID=$grupa group by TPID;
// nalazim vremena poslednjih poruka unutar svake teme


CREATe TEMPORARY TABLE Temp22 SELECT ZadVreme,Korisnici.LogName as ZadLogName,Poruke.TPID
from Temp2,Korisnici,Poruke
where Poruke.Vreme=Temp2.ZadVreme and Poruke.KID=Korisnici.ID;
// odvajam isto tako iz ovih poslednjih sta mi treba

SELECT Temp11.TPID,Naslov,PocLogName,ZadVreme,ZadLogName
from Temp11,Temp22
where Temp11.TPID=Temp22.TPID
order by Temp22.ZadVreme desc;
// spajam ove dve tabele tako da u svakom od rows-a imam podatke za istu Temu i sve to po redu od najskorije.

// NASLOV TEME -------- KO JE ZAPOCEO ------ VREME POSLEDNJE PRISTIGLE PORUKE ----i KO JE POSLAO TU POSLEDNJU

DROP TABLE Temp11,Temp1,Temp2,Temp22...// ma koji ce mi vise..... :)

Jeste, i meni se cini nezgrapnim....ali jednostavno......sve sam probao..ne ide...( ili ja ne znam
kako, sto je verovatnije)
Ako je nekom bas toliko dosadno moze da proba da ovo skrati...

I Jos nesto

Zasto mi prijavljuje gresku u

SELECT * FROM Poruke
WHERE Poruke.Vreme IN(Select max(Poruke.Vreme) from Poruke group by TPID);????
AHHH!!! Proradi krntijo nijedna!!!
...I kad sam poceo da te pisem!! .... Mrzim te.......!!!
 
Odgovor na temu

Panoramix
Bg

Član broj: 3979
Poruke: 8
*.beotel.net



Profil

icon Re: Pitanjce oko MySql-a....09.06.2002. u 16:00 - pre 266 meseci
gde bih nesto mogao opsirnije da nadjem o Sub-Querijima u MySql-u?
AHHH!!! Proradi krntijo nijedna!!!
...I kad sam poceo da te pisem!! .... Mrzim te.......!!!
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.verat.net



+257 Profil

icon Re: Pitanjce oko MySql-a....10.06.2002. u 15:59 - pre 266 meseci
Citat:
Panoramix:
Zasto mi prijavljuje gresku u
SELECT * FROM Poruke
WHERE Poruke.Vreme IN(Select max(Poruke.Vreme) from Poruke group by TPID);????

Mislim (ali nisam siguran, cini mi se da to ranije nije tradilo, a da li sad radi nemam pojma) da u mysql-u nije moguc multiple select, tj. select u okviru select-a ne moze.

Neka me ispravi neko ako je to promenjeno.
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Panoramix
Bg

Član broj: 3979
Poruke: 8
*.beotel.net



Profil

icon Re: Pitanjce oko MySql-a....12.06.2002. u 09:22 - pre 266 meseci
da...da....da...

pa kad ne znam da citam..... ovo IN() sam nasao u MySql manualu-u , i
kad ja ne znam da citam..... pise..lepo ..ne moze...


Ali ako neko ima neki clanak...ili nesto.. o tehnikama...pripmerima, kako
izvesti neke stvari bez sub querija....
AHHH!!! Proradi krntijo nijedna!!!
...I kad sam poceo da te pisem!! .... Mrzim te.......!!!
 
Odgovor na temu

dwarf
Beograd, Srbija

Član broj: 1328
Poruke: 336
*.yubc.net



Profil

icon Re: Pitanjce oko MySql-a....12.06.2002. u 10:06 - pre 266 meseci
Ili preko JOIN-ova ili prvo uradis pod-upit u privremenu tabelu pa zatim radis glavni upit sa podacima iz te tabele. Mozes da koristis i host varijable, o tome vise pogledaj u manualu.
 
Odgovor na temu

Panoramix
Bg

Član broj: 3979
Poruke: 8
*.InfoSky.Net



Profil

icon Re: Pitanjce oko MySql-a....12.06.2002. u 10:49 - pre 266 meseci
Citat:
dwarf:
Ili preko JOIN-ova ili prvo uradis pod-upit u privremenu tabelu pa zatim radis glavni upit sa podacima iz te tabele. Mozes da koristis i host varijable, o tome vise pogledaj u manualu.


Ma ok ok... samo sam mislio da vidim negde nekoliko primera....
da vidim u kom pravcu da razmisljam...sta se sve tu moze

AHHH!!! Proradi krntijo nijedna!!!
...I kad sam poceo da te pisem!! .... Mrzim te.......!!!
 
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
*.1.14.vie.surfer.at

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Pitanjce oko MySql-a....15.06.2002. u 18:38 - pre 265 meseci
Moram priznati da nisam bas najjasnije razumio tvoj problem, tj. sta zelis i kako zelis prikazati.
Da li zelis prikazati popis tema ili listu poruka u jednoj temi?
Pojasni pitanje, ako treba nacrtaj, da znamo sta zapravo zelis.

Code:

<PRE>
___________________________________________________________________
Ovo je naslov    |  Korisnik  |    Vrijeme   |  TPID 
----------------------------------------------------------------------------------------------
woeiuowuifowuif    user2          13:45         2 
alskdjlaskdjlk        user3         13:44          2
Blablabla               user1         13:47          1
askljdlaksjd           user2         13:46          1
ashkadhkhk           user1         13:45          1
----------------------------------------------------------------------------------------------
</PRE>


Usput, mozda ovo trazis:
SELECT * FROM table1,table2 WHERE id=KID ORDER BY Vreme,TPID DESC;

Ovo je ovako odokativnom metodom. Kad objasnis jasnije sta ti treba, bice bolji i odgovor :)
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

Panoramix
Bg

Član broj: 3979
Poruke: 8
*.dial.InfoSky.Net



Profil

icon Re: Pitanjce oko MySql-a....18.06.2002. u 09:01 - pre 265 meseci
Hvala... Ali vec sam to sredio... nekoliko postova iznad je kod toga...
Koristio sam temporary tables... Pa ko provali provali...ali uglavnom meni to radi ono sto treba...

A sto je meni trebalo to je

Naslov TEME | Korisnik koji je zapoceo Temu| VREME zadnje poruke u ovoj Temi | Korisnik koji je napisao tu zadnju temu | i sve to da sortira u redosledu od najskorije , ali pazite...
odnosi se na vremena samo ovih zadnjih u okviru tema

Ljudi ja stvarno ne razumem , zasto da crtam, pa svi mi vidimo tu stranicu na ovom forumu sto puta... Ta tabela sa spiskom tema, malo prostije samo......

Ali nemojte se muciti.....resio sam to..... ima gore iznad....
AHHH!!! Proradi krntijo nijedna!!!
...I kad sam poceo da te pisem!! .... Mrzim te.......!!!
 
Odgovor na temu

[es] :: PHP :: Pitanjce oko MySql-a....

[ Pregleda: 3872 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

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