Sk!ppy Skrevet 18. august 2009 Del Skrevet 18. august 2009 (endret) Hei, Jeg skal ha 2 bilder i bredden, og så mange som mulig nedover, har sett på denne: som skal løse det: <?php $totalelements = 17; $elementsperrow = 2 ?> <table> <tr> <?php for ( $iTell, $iMax = $totalelements; $iTell <= $iMax; $iTell++ ): ?> <td><?= $iTell ?></td> <?php if ( $iTell % $elementsperrow == 0 && $iTell != $iMax ): ?> </tr><tr> <?php endif; ?> <?php endfor; ?> </tr> </table> men skjønner kke helt.. Noen som kan forklare, og vise litt hvordan jeg skal implitere det i denne: <table class="t2" width="367" border="1" cellpadding="2" cellspacing="0"> <tbody><tr> <td colspan="2" class="t" style="padding: 0px;">Butikk</td> </tr> <tr> <td colspan="2" style="padding: 5px;"><img border="0" src="images/shoppicture.jpg"></td> </tr> <tr> <td colspan="2" align="center">Just a butikk</td> </tr> <?php $select = mysql_query("SELECT * FROM `butikk_items`"); $i = 0; while($vg=mysql_fetch_array($select)) { ?> <td><img src="<?php echo $vg['bilde']; ?>"></td> <?php } ?> </tbody> </table> Jeg vet at dette kan gjøres med div's, men jeg ønsker å gjøre dette med tables JHei, jeg har nesten klart det, men alle bildene blir inni samme <td></td> tagg <?php $select = mysql_query("SELECT * FROM `butikk_items`"); $select2 = mysql_query("SELECT * FROM `butikk_items`"); $count = mysql_num_rows($select2); $totalelements = $count; $elementsperrow = 2; $iTell = ""; ?> <?php for ( $iTell, $iMax = $totalelements; $iTell <= $iMax; $iTell++ ): ?> <td><?= $iTell ?><?php while($vg=mysql_fetch_array($select)) { ?><img src="<?php echo $vg['bilde']; ?>"><?php } ?></td> <?php if ( $iTell % $elementsperrow == 0 && $iTell != $iMax ): ?> </tr><tr> <?php endif; ?> <?php endfor; ?> Endret 18. august 2009 av LaCrouX Lenke til kommentar
OIS Skrevet 19. august 2009 Del Skrevet 19. august 2009 Det er kanskje enklere hvis du prøver å skille logikk og presentasjon litt. function wrapData($array, $before, $after) { return $before . implode($after . $before, $array) . $after; } $pictures = array(); while($row = mysql_fetch_array($select)) { $pictures[] = $row['bilder']; } $fields = 2; $pictureRows = array_chunk($pictures, $fields); $totalRows = count($pictureRows); $lastRow =& $pictureRows[$totalRows - 1]; $lessRows = $fields - count($lastRow); if ($lessRows) { $lastRow = array_merge($lastRow, array_fill(0, $lessRows, ' ')); } for ($i = 0; $i < $totalRows; $i++) { $dataRows[] = wrapData($pictureRows[$i], '<td>', '</td>'); } $data = wrapData($dataRows, '<tr>', '</tr>'); echo '<table>', /*table header here*/ $data, '</table>'; Lenke til kommentar
Sk!ppy Skrevet 19. august 2009 Forfatter Del Skrevet 19. august 2009 Løste det ved hjelp av en annen person, takk uansett Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå