MYSQL query help
4 naročniki
4 naročniki
Lepo pozdravljeni!
$table_name = "comment";
id (INT) | news_id (INT) | comment (TEXT) | datum (DATETIME)
Rad bi dobil vse news_id-je, urejene po datumu zadnjega komentarja.
Uglavnem, rad bi izpisal novice, tako, da bo novica z najbolj svežim komentarjem na vrhu in novica z drugim najbolj svežim komentarjem na 2. mestu itd....
p.s. manjka smajli, ki z glavo buta v steno
19 odgovorov
pa tudi
SELECT newsid FROM comment ORDER BY datum DESC
ni v redu ker je teh komentarjev z istim newsid v tej tabeli več.....
pomojem bi moral nekak v tem smislu
SELECT DISTINCT news_id FROM comment ORDER BY datum DESC
ampak tudi to ni v redu.............
pa tudi
SELECT newsid FROM comment ORDER BY datum DESC
ni v redu ker je teh komentarjev z istim newsid v tej tabeli več.....
pomojem bi moral nekak v tem smislu
SELECT DISTINCT news_id FROM comment ORDER BY datum DESC
ampak tudi to ni v redu.............
SELECT * FROM comment ORDER BY datum DESC
potem pa samo ven kličeš kar imaš notri.. naprimer ta tvoj $news_id;
Sej ti pravim, preberi malo in boš razumel. Pa še vesel boš, da se lahko zaneseš naslednjič sam nase.:)
Ej hvala IMP za hitre odgovore, vendar nisem prepričan da sva se dobro razumela...
Zakaj bi selectal iz tabele VSE?
V tej tabeli je isti newsid vekčrat dupliciran, za vsak kometar posebej.
Jaz bi rad dobil npr DISTINCT-ane newsid-je v pravilnem zaporedju iz te tabele.
Saj sem dobro razložil v prvem postu kako in kaj, samo natančno je treba prebrat.
Tole kar si napisal žal ne deluje in verjami da sem precej telovadil s takšnimi in podobnimi queriji...
$sql = mysqlquery("SELECT newsid FROM comment ORDER BY datum DESC");
if (mysqlnumrows($sql))
{ while ($komentarji = mysqlfetcharray($sql))
{ extract($komentarji);
echo $news_id;
}
}
?