Avatar billede ohmish Nybegynder
21. januar 2010 - 21:22 Der er 5 kommentarer og
1 løsning

Dynamisk liste med php og mysql

Hej

En ting jeg aldrig rigtig har kunnet få til at spille helt..
Jeg skal lave en dynamisk liste der minder om et table.
Hver "celle" kan have meget forskellig længde indhold.
Billede-eksempel: http://peecee.dk/upload/view/219460

Med det skulle helst være med fleksible højde-forskydelser i afsnittene, som på billedet. Med med table vil hver række jo blive samme højde.

Nogen der ved hvordan? Float / display: inline-box/table-cell/andet?



<?php

echo '<div id="liste">';

$dbget = @mysql_query("SELECT * FROM tabel");

    while ($arrdb = @mysql_fetch_array($dbget )) {

        echo '<div class="listebox">';

        echo '<h2>'.$arrdb['overskrift'].'</h2>';
        echo '<p>'.$$arrdb['tekst'].'</p>';

        echo '</div>';

    }

echo '</div>';

?>




CSS:

#liste {
??
}

.listebox {
??
}
Avatar billede wanze Nybegynder
21. januar 2010 - 22:32 #1
Hvordan har du tænkt dig at den skal regne ud, hvornår den skal skrive i 2. kolonne? Har boksen du skriver i en højde, er det på forhånd bestemt hvor meget der skal være i hver kolonne eller hvad havde du tænkt dig?
Avatar billede ohmish Nybegynder
21. januar 2010 - 22:49 #2
Det skulle være ret dynamisk, dvs. fleksibelt og ikke forudbestemt.

Er der ikke en måde man kan få en masse div's til at fylde det hele og sidde tæt sammen, selvom de har forskellig højde?
Avatar billede ohmish Nybegynder
21. januar 2010 - 23:19 #3
Kun bredden skal være fast (på hoved-div'en det er i).. f.eks 500px. Så skal den div bare fyldes ud med div's på 250px i bredden.
Avatar billede wanze Nybegynder
22. januar 2010 - 17:21 #4
Du kan ikke få den til at floate intelligent, nej. Hvis du bare bruger float:left; på dine divs, så vil de blot blive fordelt i kolonnerne skiftevis. Dvs. div: 1, 3 og 5 vil være til venstre og 2, 4 og 6 vil være til højre. Det kan give et rigtig grimt layout, hvis indholdet i de ulige divs er længere end indholdet i de lige divs.

Hvis jeg var dig ville jeg enten komme op med en anden idé til layouttet eller sortere dem efter længde via PHP.
Avatar billede ohmish Nybegynder
22. januar 2010 - 17:32 #5
Jeg har nu brugt en nogenlunde løsning, hvor jeg deler indholdet op i to kolonner med php.
Men ellers kigger jeg lidt videre på inline-block som der også er muligheder i (men så skal der hackes lidt til div. browsere).
Avatar billede wanze Nybegynder
22. januar 2010 - 20:06 #6
Du vil med inline-blocks ikke opnå et meget andet resultat end du vil med floats, eller er der noget jeg har overset her?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester