/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Problemer med for løkke
Fra : Alexander P.


Dato : 15-05-06 16:21

Jeg har en kode, som er lgie til at blive langhåret af (hvis ikke
det var fordi man er langhåret i forvejen...)
det skulle være meget enkelt at lave, men det forvolder en masse
problemer, den skulle i sin enkelthed efter hvert 3. billede lave
en <br> så den ikke kører ud og ødelægger designet.
koden er som følger:

//her oppe køres en mysql forespørgsel der anskaffer $result ud
af min database.

for($i=0; $i < count($result); $i++) {
extract($result[$i]);
$output .= "<img src=\"$id\">";
if ($i%3 == "1") {
echo "<br>";
}
}

iflg. mig burde den udskrive 3 billeder også en <br> også 3
billeder og en <br> (osv. - har dog kun 6 billeder i alt..)

men den udskriver 2 <br>'er også 6 billeder

På forhånd tak, (har ikke kunne finde noget om "for" funktionen
på php.net)

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Bertel Lund Hansen (15-05-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 15-05-06 16:36

Alexander P. skrev:

> for($i=0; $i < count($result); $i++) {
> extract($result[$i]);
> $output .= "<img src=\"$id\">";
> if ($i%3 == "1") {
> echo "<br>";
> }
> }

> iflg. mig burde den udskrive 3 billeder også en <br> også 3
> billeder og en <br> (osv. - har dog kun 6 billeder i alt..)

> men den udskriver 2 <br>'er også 6 billeder

Brug

   if ($i%3 == 2)

idet resten er 0, 1, og 2. Og det er ulogisk at teste på en
strengværdi når du arbejder med tal.

Du kan lave det på en anden og smartere måde med CSS hvor du
lægger billederne i en div som du floater left. Så vil de selv
tilpasse sig den skærmplads der er til rådighed.

Desuden bør du skrive:

   $output .= "<img src='$id' alt='enellerandenforklaring'>";

og helst height og with også, men det er brugervenlighed og ikke
så meget funktion.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Ove Lie (15-05-2006)
Kommentar
Fra : Ove Lie


Dato : 15-05-06 16:45

"Bertel Lund Hansen" <nospamfilius@lundhansen.dk> skrev i melding
news:4468a005$0$11700$ba624c82@nntp02.dk.telia.net...
> Alexander P. skrev:

>
> Du kan lave det på en anden og smartere måde med CSS hvor du
> lægger billederne i en div som du floater left. Så vil de selv
> tilpasse sig den skærmplads der er til rådighed.

> og helst height og with også, men det er brugervenlighed og ikke
> så meget funktion.

Kan man ved css få alle div's til å bli like store (height & width) som "det
største"?

-Ove



Bertel Lund Hansen (15-05-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 15-05-06 17:06

Ove Lie skrev:

> Kan man ved css få alle div's til å bli like store (height & width) som "det
> største"?

I min diasshow-CSS-fil har jeg lavet to klasser:

..indeksbillede, .indeksbillede1 {
   float: left;
   width: 150px;
   height: 170px;
   margin: 0;
   padding: 10px;
   text-align: center;
}
..indeksbillede1 {
   clear: both;
}

Height og width er sat efter de største billeder på hver led. Det
sikrer at alle billedboksene er lige store, og så står de pænt.

Hvis jeg i stedet satte width og height på billederne selv, ville
mange af dem blive forstrakt.

Den klasse der hedder .indeksbillede1, skal bare sørge for at det
første billede ikke floater til højre for den indledende tekst,
men starter på en ny linje.

Et eksempel kan ses her:

   http://www.obese.dk/obese5/obese5.htm

hvor jeg dog lige har måttet justere bredden separat (i
HTML-delen) for det brede billede.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Alexander P. (15-05-2006)
Kommentar
Fra : Alexander P.


Dato : 15-05-06 21:18


> Brug
>
>    if ($i%3 == 2)

- Jo tak, er ikke så meget inde i det med % og hvordan det
virker,

> Desuden bør du skrive:
>
>    $output .= "<img src='$id' alt='enellerandenforklaring'>";
>
> og helst height og with også, men det er brugervenlighed og
ikke
> så meget funktion.

- tak for reminderen, men havde ændret lidt i outputtet da jeg
skriver en masse mærkværdige ting, har både alt height og width
på, men tak for det ellers :)

og tusind tak for dit hurtige svar :+)

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Bertel Lund Hansen (15-05-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 15-05-06 21:52

Alexander P. skrev:

>> Brug

>>    if ($i%3 == 2)

> - Jo tak, er ikke så meget inde i det med % og hvordan det
> virker,

Det returnerer resten ved division.

7%3 giver 1, 20%3 giver 2 osv. Det er netop velegnet til at få
noget til at gentages i en fast rytme, men kan også bruges til
meget andet.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Alexander P. (16-05-2006)
Kommentar
Fra : Alexander P.


Dato : 16-05-06 14:16

> Det returnerer resten ved division.
>
> 7%3 giver 1, 20%3 giver 2 osv. Det er netop velegnet til at få
> noget til at gentages i en fast rytme, men kan også bruges til
> meget andet.

- okay, mente jeg også at det fungerede sådan, men da den opførte
sig besynderligt (da jeg prøvede at tage % med en streng)
begyndte jeg at tvivle.

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

dmal (16-05-2006)
Kommentar
Fra : dmal


Dato : 16-05-06 07:41

Det kunne evt.også have noget at gøre med at du echo'er "<br/>" men
gemmer dine billeder i en streng ..
hvis du gøre som nedenfor og retter din % så virker det såmænd
også

for($i=0; $i < count($result); $i++) {
extract($result[$i]);
$output .= "<img src=\"$id\">";
if ($i%3 == "1") {
$output.="<br>";
}

}


Alexander P. (16-05-2006)
Kommentar
Fra : Alexander P.


Dato : 16-05-06 14:17


> for($i=0; $i < count($result); $i++) {
> extract($result[$i]);
> $output .= "<img src=\"$id\">";
> if ($i%3 == "1") {
> $output.="<br>";
> }
>
> }

Ja, det kunne være et medvirkende problem, det skyldes at jeg skifter
koncept at lave tingene på, alt alt for tit, men tak :)

- og tak til jer begge :)


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste