AfterDark Ierakstīts Augusts 8, 2012 Share Ierakstīts Augusts 8, 2012 Sveicināti. Saskāros ar mazu problēmu mēģinot izvilkt komentāra vārdu ar mazāko ID. Pēc mazākā komentāra ID es nosaku tēmas pirmo komentāru, kas skaitās kā tēmas autors - no tēmas autora komentāra es izvelku tēmas autora vārdu. Tuvāk pie lietas... Ja izveidojot svaigu tēmu, tad tēmas autors rādās vietā, jo ir tikai viens komentārs tēmā - tik tālu tēmas autors izvadās pareizi. Bet, ja turpina pievienot nākamos komentārus, tad tēmas autora vārds tiek izvadīts no tēmas pēdējā komentāra(koments ar lielāko ID) nevis no pirmā komentāra(sanāk ar mazāko ID). Lūk, netieku gudrs, kā man izvadīt tēmas autora vārdu no komentāra ar mazāko ID vērtību? // izvadam tēmas if($result = $mysqli->query(" SELECT `news`.`id`, `news`.`title`, `news`.`datetime`, `news`.`comments`, `news`.`posting`, `news`.`moderation`, `news`.`hidden`, `comments`.`name` FROM `news` LEFT OUTER JOIN `comments` ON `news`.`id` = `comments`.`parentid` WHERE `news`.`category` = '3' AND `news`.`hidden` ".$sortTopicsOperator." '0' GROUP BY `news`.`id` ORDER BY `comments`.`datetime` DESC ")) { Link to comment Share on other sites More sharing options...
VIL Augusts 8, 2012 Share Augusts 8, 2012 comments.name vietā nogrupē pēc mastera un pievelc min(comment.id). Pēc tam pēc šī id vienmēr pievilksi, ko vajag. + ja datubāze ir paša rakstīta, iesaku denormalizēt un pie pirmā komentāra saglabāšanas masterā ieseivot autoru. Link to comment Share on other sites More sharing options...
AfterDark Augusts 8, 2012 Author Share Augusts 8, 2012 Iepriekš minētais kvērijs izpilda visu tieši kā vajag, vienīgi, kā jau minēju, ķibele ar to autoru. Varbūt vari dzīvu piemēru piespēlēt ar to nogrupēšnu un min()? Es jūtu, ka šoreiz gaisma tuneļa galā ir pārāk tālu no manis. Link to comment Share on other sites More sharing options...
Vilx- Augusts 8, 2012 Share Augusts 8, 2012 (labots) select `news`.`id`, `news`.`title`, `news`.`datetime`, `news`.`comments`, `news`.`posting`, `news`.`moderation`, `news`.`hidden`, comments.name from `news` left join (select comments.parentId parentId, min(comments.id) minId from comments group by comments.parentId) comIds on (news.id=comIds.parentId) left join comments on (comments.id = comIds.minId) WHERE `news`.`category` = '3' AND `news`.`hidden` $sortTopicsOperator '0' order by comments.`datetime` desc Labots Augusts 8, 2012 - Vilx- Link to comment Share on other sites More sharing options...
AfterDark Augusts 8, 2012 Author Share Augusts 8, 2012 Vienkārši zvērā, Vilx-! Virtuālais aliņš no manis. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!