nikidijs Posted July 27, 2013 Report Share Posted July 27, 2013 Laba diena. Ar FOR vai WHILE (nav nozīmes, vai varbūt ir ?) tiek izvadīts saraksts ar komentāriem. Šos komentus vajag sadalīt pa grupām un aiz katras ielikt atdalītāju (kaut vai to pašu <hr>) No DB tie izvadās kārtojot pēc $row['group_id'] Šādi: 1.2.3.3.4 5.5.5.6.6.7.8.8.8 Un atdalītājs jāieliek aiz 1., 2., pēdējā 3., 4., pēdējā 5. u.t.t. Respektīvi, tas var būt gan viens komentārs ar tādu grupas id, var būt arī divi un trīs. Un atdalītājs ir vajadzīgs aiz katras grupas pēdējā komentāra. Ceru "rasklads" saprotams... :) Quote Link to comment Share on other sites More sharing options...
F3llony Posted July 27, 2013 Report Share Posted July 27, 2013 Izmanto for ciklu, pie katra cikla pārbaudi, vai nākamais ieraksts masīvā ir ar tādu pašu group_id, ja ne, izvadi atdalītāju. Nepimirsti kverijā noorderēt ierakstus pēc group_id. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted July 27, 2013 Report Share Posted July 27, 2013 (edited) for vai while - atkarīgs no tā, kādu db interfeisu lieto. "for ($rset as $row)", ja interfeisam ir next() metode un tas ir Iterable, vai, piemēram, kā mysqli, "while ($stmt->fetch())". Anyway, vienkārši uztaisi variabli "$previousGroupID" un katrā cikla posmā pārbaudi, vai tas sakrīt ar patreizējo (ja nē, tad drukā atdalītāju), un beigās nomaini to uz patreizējo. Edited July 27, 2013 by jurchiks Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 27, 2013 Report Share Posted July 27, 2013 > pie katra cikla pārbaudi Saucas iterācija. Savādāk liekas baigi konfjūzing. :) Quote Link to comment Share on other sites More sharing options...
marrtins Posted July 27, 2013 Report Share Posted July 27, 2013 Negribas pārbaudīt, taisa pieprasījumu katrai grupai. $groupd = query(select groupid from tralala group by groupid); foreach($group) { print_blablabla(); } Quote Link to comment Share on other sites More sharing options...
jurchiks Posted July 27, 2013 Report Share Posted July 27, 2013 nafig? Quote Link to comment Share on other sites More sharing options...
marrtins Posted July 27, 2013 Report Share Posted July 27, 2013 Kas nafig? Quote Link to comment Share on other sites More sharing options...
jurchiks Posted July 27, 2013 Report Share Posted July 27, 2013 Liekus pieprasījumus taisīt, loģiski. Tur tak n-tie pieprasījumi var būt. Quote Link to comment Share on other sites More sharing options...
Kasspars Posted July 27, 2013 Report Share Posted July 27, 2013 Ja šito pats nevari izdomāts, tad man ir slikta ziņa, tu esi scripkiddy :P Ja dati nav numerēts masīvs, tad var izmantot $last_group_id $last_group_id = -1; while|foreach|etc ( $row ) if ( $row->group_id != $last_group_id ) echo 'atadlītājs' .... $last_group_id = $row->group_id endwhile Quote Link to comment Share on other sites More sharing options...
jurchiks Posted July 27, 2013 Report Share Posted July 27, 2013 Tu pateici to pašu, ko es, tikai vēl uzrakstīji viņa vietā kodu... Quote Link to comment Share on other sites More sharing options...
marrtins Posted July 27, 2013 Report Share Posted July 27, 2013 Tikai atdalītājs būs jau pirms pirmās grupas pirmā komentāra nevis pēc pēdējā :) Quote Link to comment Share on other sites More sharing options...
nikidijs Posted July 27, 2013 Author Report Share Posted July 27, 2013 Sanāca ļoti skaisti, salīdzinot pašreizējo ar iepriekšējo g_id. Vēlā vakara stundā un uzreiz no rīta tāda elementāra lieta tomēr neienāca paurī. Paldies par veltīto laiku ;) Quote Link to comment Share on other sites More sharing options...
Kavacky Posted August 1, 2013 Report Share Posted August 1, 2013 Tikai atdalītājs būs jau pirms pirmās grupas pirmā komentāra nevis pēc pēdējā :)Kas meklē problēmas, tas atrod... Pirms if'a $last_group_id = $last_group_id == -1 ? $row->group_id : $last_group_id; Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.