eregi Posted December 20, 2007 Report Share Posted December 20, 2007 A, jau vairākas reizes bilžu dalīšanai kolonnās esmu izmantojus šādu pasākumu - echo "<table>"; $SQL=mysql_query("SELECT * ..."); $i = 3; while($row = mysql_fetch_array($SQL)){ if($i % 3 == 0) { echo "<tr><td><a href='".DOC_URL."video/".$row['Id']."'><img src='http://thumbs/".$row['Name']."-1.jpg' width='120px' height='72px'></a>"; } elseif($i % 3 == 1) { echo "<a href='".DOC_URL."video/".$row['Id']."'><img src='http://thumbs/".$row['Name']."-1.jpg' width='120px' height='72px'></a>"; } elseif($i % 3 == 2) { echo "<a href='".DOC_URL."video/".$row['Id']."'><img src='http://thumbs/".$row['Name']."-1.jpg' width='120px' height='72px'></a></td></tr>"; } $i++; bet tagad vajag izmantojot php & divus, itkā doma bija tādi pati kā ar tabulām tik sabāzt divus, uztaisīt vienu divu, ķip 'line', kurš būtu ar noteiktu width un, kurā ietilptu katras rindas 3 objekti, un iekš katras rindas, katram objektam savu divu, ķip 'object', kuri būt float: left; tādejādi visi kārtotos vienā rindā. Tā itkā rezultātu nepilnvērtīgi panācu, bet ja pēkšņi no mysql izvada kādu vairāk, vai mazāk ierakstu, tad uzreiz pazūd </div> tags, kurš noslēdz rindu, tādejādi izčakarē visu lapu. Lūgums tāds, vai kāds nevarētu kaut ko ieteikt,lai panāktu vēlamo efektu ? :) Link to comment Share on other sites More sharing options...
andrisp Posted December 21, 2007 Report Share Posted December 21, 2007 Es darīju kaut kā šitā (man vēl klīri arī bija): <?php foreach() { ?> <?php if ($i % 3 == 0) { echo $i == 0 ? '<div class="item_row">':'<div class="clear"></div></div><div class="item_row">'; } ?> <?php echo $i == ($kopeejais_ierakstu_skaits - 1) ? '<div class="clear"></div></div>' : ''; ?> <?php } ?> Varbūt nav pats ideālākais, bet strādā. Link to comment Share on other sites More sharing options...
Delfins Posted December 21, 2007 Report Share Posted December 21, 2007 bet ja pēkšņi no mysql izvada kādu vairāk, vai mazāk ierakstu, tad uzreiz pazūd </div> tags, kurš noslēdz rindu, tādejādi izčakarē visu lapu. Šeit ir tava kļūda... Ja tu izmanto DIV:float, tad vairs nekādi x%3 nav vajadzīg... jo rindas pašas sadalīsies. Līdz ar to papildus DIV-a izmantošana nav nnepieciešama. <div> <div class="img">....</div> <div class="img">....</div> <div class="img">....</div> <div class="img">....</div> <div class="img">....</div> <div class="img">....</div> <div class="img">....</div> <div class="img">....</div> </div> Link to comment Share on other sites More sharing options...
andrisp Posted December 21, 2007 Report Share Posted December 21, 2007 Delfins, ja divu augstums būs fiksēti vienāds, tad nebūtu vajadzīgs, bet ja nav fiksēts, tad ir vajadzīgs. Link to comment Share on other sites More sharing options...
Delfins Posted December 21, 2007 Report Share Posted December 21, 2007 (edited) Nu tad klasiskais algoritms, kur nekad nekas nepazūd. echo DIV while () { if ($i && $i % 3 == 0) echo /DIV + DIV $i++; } echo /DIV Edited December 21, 2007 by Delfins Link to comment Share on other sites More sharing options...
eregi Posted December 21, 2007 Author Report Share Posted December 21, 2007 Liels paldies jums abiem par palīdzīb, izmantoju Delfīna pēdējo variantu (: Link to comment Share on other sites More sharing options...
Recommended Posts