Avatar billede pitzen Nybegynder
15. august 2006 - 20:29 Der er 7 kommentarer og
1 løsning

Modulus problem

Hej.
Jeg har følgende kildekode:

<tr>
<?
$res = mysql_query("select * from billeder where godkendt='1' order by rating desc limit 0,12");
                       
while($row = mysql_fetch_array($res)){

$overskrift = $row["head"];
$rating = $row["rating"];

if($i++%4==0) echo "</tr><tr>";
echo "<td><img src='graphics/bumbum.jpg' alt='$overskrift | Rating: $rating'></td>";
}
?>
</tr>

Idéen var at generere en tabel med 3 rækker og 4 kolonner. I hver celle skal der så placeres ét billede (bumbum.jpg). Men hvis du kigger på selve siden http://www.humorfreak.dk/2 kan du se at der mangler et billede i 4. celle, 1. række. Hva ka det skyldes?

Pf. tak.

Morten
Avatar billede michael_stim Ekspert
15. august 2006 - 20:31 #1
Pröv at skrive $i=1; för din while.
Avatar billede nielle Nybegynder
15. august 2006 - 20:34 #2
$res = mysql_query("select * from billeder where godkendt='1' order by rating desc limit 0,12");
                       
while ($row = mysql_fetch_array($res)){
    $overskrift = $row["head"];
    $rating = $row["rating"];

    if ($i % 4 == 0) echo "</tr><tr>";
    echo "<td><img src='graphics/bumbum.jpg' alt='$overskrift | Rating: $rating'></td>";
    $i++;
}
?>
</tr>
Avatar billede pitzen Nybegynder
15. august 2006 - 20:53 #3
Der skulle blot være en $id = 0;

Jeg accepterer dit svar michael.. Post et..

Tak for hjælpen begge to
Avatar billede nielle Nybegynder
15. august 2006 - 21:01 #4
Øhm, hvad har "$id = 0;" med rådet "$i=1" at gøre?

Faktisk er det ikke nødvendigt at initialisere $i ()eller $id idet den automatisk er 0 fra starten af. Det er bestemt pænt at gøre, men det er en anden sag.

Dit problem slykdes at du testede på værdien af $id lidt for tideligt i forlold til logikken. Derfor fik du forskudt det hele med 1.
Avatar billede pitzen Nybegynder
15. august 2006 - 21:06 #5
Hov.. Der skulle have står $i = 0; og ikke $id som jeg skrev.

Men at michael sagde jeg skulle sætte den til 1, fik mig til at tænke på at nulstille den. derfor

og den var sat til noget andet tidligere!
Avatar billede nielle Nybegynder
15. august 2006 - 21:09 #6
Ahh, ja. Så giver det mere fornuft. :^)

Men den skal nu sætte til 0, ikke til 1. Og så bør du have inkrementeringen efter, i stedet for at forsøge at gøre så mange ting som muligt i en linje.

Giv bare pointene til michael_stim ... jeg har rigeligt :^)
Avatar billede michael_stim Ekspert
15. august 2006 - 21:20 #7
Det har jeg også ;o) Og tager under alle omständigheder ikke 200 point for et ufuldständigt svar.
Så läg du bare et svar selv og tag pointene.
Avatar billede pitzen Nybegynder
17. august 2006 - 19:51 #8
ok.. tak anyway
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