Copy Posted April 24, 2007 Report Share Posted April 24, 2007 Sveiki! Problēma tāda, ka nevaru iedomāties, kā lai uztaisa select vaicājumu sekojošai lietai. Man ir divas tabulas - komenti un posti, kā tieši lietot selectu, ja ir vēlme uztaisīt atsevišķā php failā pēdējo 10 komentēto rakstu izvadi. Kā tieši likt selektam saprast, ka ir jāizvada tie posti no tabulas posti, kuros ir bijuši pēdējie komentāri. Paldies! Link to comment Share on other sites More sharing options...
andrisp Posted April 24, 2007 Report Share Posted April 24, 2007 SELECT r.* FROM `komenti` k LEFT JOIN `raksti` r ( r.id = k.rakstu_id ) ORDER BY k.datums DSC LIMIT 10 Kaut kā tā moška. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted April 24, 2007 Report Share Posted April 24, 2007 Copy --> zini te ir LJOTI daudz gaisregju un VINJI VISI VAR UZMINET TAVU TABULU STRUKTURU !!! tikai zini VIENA NELAIME !!!! KRISTALA BUMBAS NAV !!!!!! ---------- vismaz iemet tabulas strukturu.... Link to comment Share on other sites More sharing options...
v3rb0 Posted April 24, 2007 Report Share Posted April 24, 2007 šitādu select username, password from users Link to comment Share on other sites More sharing options...
Grey_Wolf Posted April 24, 2007 Report Share Posted April 24, 2007 (edited) v3rb0 --> aga + vel peec selecta Aadrese, personas_k , utt... ;) edit: aizmirsu piebilst: parole OBLIGATI Jaglabaa Plain textaa ;) Edited April 24, 2007 by Grey_Wolf Link to comment Share on other sites More sharing options...
Copy Posted April 25, 2007 Author Report Share Posted April 25, 2007 (edited) ok, my bad! =) tātad tabulā posts lauki ir id, posts tabulā komenti lauki ir com_id, post_id, coment, nick posta id = komentu post_id, komentu com_id ir autoincrement mēģināju pats selectu taisīt, bet baigi kokaini sanāca: SELECT * FROM posts, komenti where posts.id = komenti.post_id order by com_id desc limit 10, rezultātā, izvada visus tos postus kuriem ir komentāri, un pie tam postus izvada tik daudz reižu laukā, cik katram postam ir komentāri, nu apmēram šadi tas izskatās: post1 (3 kom) post1 (3 kom) post1 (3 kom) post2 (2 kom) post2 (2 kom) tiešām neizprotu kur ir problēma, varbūt kāds zin! Edited April 25, 2007 by Copy Link to comment Share on other sites More sharing options...
andrisp Posted April 25, 2007 Report Share Posted April 25, 2007 Mans piedāvātais sql nederēja ? Link to comment Share on other sites More sharing options...
Copy Posted April 25, 2007 Author Report Share Posted April 25, 2007 (edited) derēja tikai tik tālu cik tagad esu, bet vajag lai tie posti tik daudz nerādās, lai rādās tikai pēdējie komentētie =) itkā jau rāda tagad pēdējos komentētos, bet bik pa daudz rādās, vajag lai rāda post1 (3 kom), post2 (2 kom); pa vienam ne visus :D Edited April 25, 2007 by Copy Link to comment Share on other sites More sharing options...
andrisp Posted April 25, 2007 Report Share Posted April 25, 2007 Khm.. it kā jau tas LIMIT 10... Link to comment Share on other sites More sharing options...
Copy Posted April 25, 2007 Author Report Share Posted April 25, 2007 nu jā limit 10, tas jau strādā, izvada tikai 10 ierakstus, bet vienu un to pašu pēdējo komentēto ierakstu izvada tik daudz reižu cik tam ierakstam komentāru :D vajag, lai izvada vienu reizi to pēdējo komentēto ierakstu :D Link to comment Share on other sites More sharing options...
Copy Posted April 25, 2007 Author Report Share Posted April 25, 2007 atradu risinājumu, ja domā, tad var izdomāt =) uztaisīju šitā, tagad strādā: $sql = "select * from posts inner join komenti on posts.id = komenti.post_id group by komenti.post_id order by com_id desc limit 10"; :) Link to comment Share on other sites More sharing options...
Copy Posted April 25, 2007 Author Report Share Posted April 25, 2007 vispār izdomāju citu loģisku variantu, kad attiecīgam postam taisa komentāru, es lieku insertot laiku tabulā post, kad noticis jauns komentārs, un pēc tam atlasu pēdējos komentētos pēc iekomentēšanas laika. Manuprāt šis ir ērts variants, nav vaicājumā jāizmanto 2 tabulas, nav vairs vaicājumā jāizmanto komentāru tabula :) UPDATE posts SET last_comented='$time' where post.id = $id Tagad viss strādā nevainojami =) Link to comment Share on other sites More sharing options...
Recommended Posts