Avatar billede koch Nybegynder
23. marts 2005 - 23:12 Der er 7 kommentarer og
1 løsning

løkke som sørger for 15 poster pr side

Jeg henter data fra en database og vil gerne have skrevet max 15 poster pr side. Jeg har følgende


//$numb er sat i adresselinien ellers lig 1
$numb = (isset($_GET['numb'])) ? $_GET['numb'] : "1";

//Sørger for at der skrives 15 poster pr side, når $numb=1 så //starter løkken ved 1 og op til 15, når $numb er 2 starter løkken //ved 16 og op til 30 etc.
for ($i=1+($numb-1)*15; $i<=$numb*15; $i++){
while ($row = @mysql_fetch_array($query))
{$car_mark = $row["mark"];
$car_year = $row["year"];
$car_km=$row["km"];                            $car_notice=$row["notice"];
$car_price=$row["price"];
$car_id=$row["id"];

$km_conv = number_format($car_km, 0, ',', '.');
$price_conv = number_format($car_price, 0, ',', '.');
                       
echo ("<tr> ");                            echo ("<td><a href=\"price.php?bil=$car_id\">$car_mark</a></td>");    
echo ("<td>$car_year</td>");        
echo ("<td>$km_conv</td>");
echo ("<td>$car_notice</td>");
echo ("<td>kr. $price_conv</td>");
echo ("</tr>");
}
}


Problemet er, at alle posterne skrives på hver side...
Avatar billede barklund Nybegynder
23. marts 2005 - 23:16 #1
Det er nu smartere at lave det via LIMIT i din sql-sætning. Og derudover er ovenstående vist en del forkert. Men har du ikke spurgt om det samme før?
Avatar billede koch Nybegynder
23. marts 2005 - 23:33 #2
jo, næsten. Der fik jeg også svar med limit, jeg troede dog at jeg havde fået det til at virke, men det gjorde det ikke!

Det virker til man ikke kan gøre det uden limit, det må jeg jo lige prøve så...

hvad er det du mener er forkert iøvrigt, jeg får ingen fejl på siden?
Avatar billede barklund Nybegynder
23. marts 2005 - 23:43 #3
Det kan sagtens laves uden limit - men det ville være meget dumt, da limit er lige netop hvad man skal bruge til dette.

Og mht. fejl, så har du en for-løkke yderst, som kører 15 gange, men inden i den henter du første gang for-løkken kører samtlige rækker i din tabel ud - og så kører den yderligere 14 gange, hvor der ikke sker noget. Altså slet ikke, som du ønsker.

Lav det om til limit - det er altså så nemt, så nemt :)
Avatar billede koch Nybegynder
24. marts 2005 - 00:05 #4
Du har ret, nederen jeg ikke gjorde det først :) Tak for det:) Bare lige én ting. Databasen indeholder 23 poster, men der skrives kun 22 ud.

Min start og stop har jeg defineret som følgende:
$start=1+($numb-1)*15;
$stop=$numb*15;

Hvor $numb er defineret i adresse linien. Når den er 1, så udskrives der fra 1 til 15. Når den er 2 udskrives der fra 1-7(svarer til 16-22)! Hvor bliver den sidste af?
Avatar billede barklund Nybegynder
24. marts 2005 - 00:07 #5
Du skal starte med nummer 0 - fjern de "1+" forrest.
Avatar billede koch Nybegynder
24. marts 2005 - 00:11 #6
Kanon. Mange tak for hjælpen. Så kan jeg fandme fatte at bruge LIMIT fra starten ;) Læg et svar...
Avatar billede barklund Nybegynder
24. marts 2005 - 00:12 #7
Helt fint :)
Avatar billede barklund Nybegynder
24. marts 2005 - 00:18 #8
Tark for points :)
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