Garreth Skrevet 26. mai 2006 Del Skrevet 26. mai 2006 Jeg holder på å koder om et publiserings verktøy for å tilpasse det til mitt eget design. Jeg henter ut artikler i en articlelist og jeg vil gjerne ha to og to artikeler ved siden av hverandre. Derfor trenger jeg en <div class="clear"</div> på annenhver utskriving. Jeg prøvde med: if ($i==0 || $i==1) { //skriver ut artikkel 1 og 2 echo "<div class=\"clear\"></div>"; } elseif ($i==2 || $i==3) { //skriver ut artikkel 3 og 4 echo "<div class=\"clear\"></div>"; } elseif ($i==4 || $i==5) { //skriver ut artikkel 5 og 6 echo "<div class=\"clear\"></div>"; } Men det er nok feil bruk av if sjekken, for alle artiklene får en clear etter seg. Noen som skjønte problemet mitt og vet om en løsning? Lenke til kommentar
Ernie Skrevet 26. mai 2006 Del Skrevet 26. mai 2006 Uhhmm ... hva er det du prøver på egentlig? Er det ikke en smule bedre med noe ala det her? $i = 0; while (hente ut rader) { if (++$i % 2) { //Artikkel på odetall } else { //Artikkel på partall } } Lenke til kommentar
Garreth Skrevet 26. mai 2006 Forfatter Del Skrevet 26. mai 2006 (endret) Jeg har en articlelist som henter ut overskrift, thumbnail, ingress og en "les mer" link. Jeg har 10 slike på en side. Jeg vil gjerne ha to og to vedsiden av hverandre, derfor trenger jeg at det blir skrevet ut en clear etter hver andre artikkel. kort fortalt: artikkel 1 og 2 clear artikkel 3 og 4 clear artikkel 4 og 5 osv. Jeg er ikke sikker på hva jeg skal ha i while i ditt script. Når jeg skriver ut vanligvis bruker jeg: echo "\n<div class=\"articlelist_fontpage\">\n"; //code for uthenting echo "</div>\n\n"; echo "<div class=\"clear\"></div>"; Setter pris på hjelpen, jeg kan så utrolig lite php. Endret 26. mai 2006 av Garreth Lenke til kommentar
Garreth Skrevet 29. mai 2006 Forfatter Del Skrevet 29. mai 2006 *bump* lurer fremdeles på dette Lenke til kommentar
Peter Skrevet 29. mai 2006 Del Skrevet 29. mai 2006 hvorfor har du clear egentlig? mellomrom lages ikke ved å slenge en tom div imellom, du bruker css-margin/padding osv. I Ernies kode vil du ha clear-div'en din i første if og selve artikkel-div'en(e) i andre if. Koden hans gjør at annenhver gang skrives en clear-div og en artikkel-div. (som betyr at du må ha begge artiklene i artikkel-div'en) Lenke til kommentar
Garreth Skrevet 29. mai 2006 Forfatter Del Skrevet 29. mai 2006 Problemet da er at jeg må sette en fast høyde på divene, for om det er en artikkel som bare innholder bare noen få ord så vil den stå alene. Lenke til kommentar
Peter Skrevet 29. mai 2006 Del Skrevet 29. mai 2006 Problemet da er at jeg må sette en fast høyde på divene, for om det er en artikkel som bare innholder bare noen få ord så vil den stå alene. 6200393[/snapback] hæ? kan du gi et eksempel på dette, tror ikke jeg helt fortstår hva du mener? Lenke til kommentar
MC2 Skrevet 29. mai 2006 Del Skrevet 29. mai 2006 $put = "left"; $nr_art = count($articles); for($i=0;$i<$nr_art;$i++) { if($put == "left") { // artikkelen skal være til venstre echo "<div class='".$put."'>".$articles[$i]."</div>"; $put == "right"; } else { // artikkelen skal være til høyre echo "<div class='".$put."'>".$articles[$i]."</div>\n<div class='clear'></div>"; $put == "left"; }; }; // hvis du slutter på left, legg til en tom right. if($put == "right") { echo "<div class='emptyright'></div><div class='clear'></div>"; }; noe sånt? Lenke til kommentar
Mapster Skrevet 30. mai 2006 Del Skrevet 30. mai 2006 (endret) if ($i==0 || $i==1) { //skriver ut artikkel 1 og 2 echo "<div class=\"clear\"></div>"; } elseif ($i==2 || $i==3) { //skriver ut artikkel 3 og 4 echo "<div class=\"clear\"></div>"; } elseif ($i==4 || $i==5) { //skriver ut artikkel 5 og 6 echo "<div class=\"clear\"></div>"; } Bytt ut dette med følgende: if($i%2==0){ // kode for utskrift av artikkel, med partall som nr. } else{ // kode for utskrift av artikkel, med oddetal som nr. <br> } Du kan altids bytte ut <br> linjen min med en </div> og sette inn en <div> før koden som skriver ut den første artikkelen. Forklaring av %, hvis du ikke vet det da: %, eller modulus, deler verdien før tegnet med verdien etter tegnet, og returnerer så restverdien. Dvs. 5%2 = 1 mens 6%2 = 0. (sammenlign det med deling på barneskole-nivå) Endret 30. mai 2006 av MapSter Lenke til kommentar
Garreth Skrevet 30. mai 2006 Forfatter Del Skrevet 30. mai 2006 Ah, tusen takk for hjelpen! 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å