Gå til innhold

bare vise tall en gang i for-løkke


Anbefalte innlegg

Skrevet (endret)

driver å prøver meg på pagination..

har en for-løkke som ser slik ut:

for($i = 1; $i <= $antall[0]; $i++){
$side = ceil($i / 5);
echo "<a href=\"index.php?side=$side\">$side</a> - ";
}

$antall[0] er hentet ut fra en mysqltabell med count(id).. for øyeblikket 13

men slik som det er nå blir ramset opp 13 siffer, på grunn av antallet.

slik: 1 - 1 - 1 - 1 - 1 - 2 - 2 - 2 - 2 - 2 - 3 - 3 - 3 -

hvordan kan jeg få et tall til bare å komme 1 gang og at sånn at ikke 0 kommer?

Endret av kennteh
Videoannonse
Annonse
Skrevet

Forstod ikke helt hva du prøver å oppnå. Men om du vil begrense info som blir hentet fra mysql-databasen, kan du bruke Limit. F.eks:

SELECT * FROM tabell LIMIT 5

Skrevet

det har jeg. skal ha 5 "treff" for hver side.

akkurat nå er det 13 innlegg og da skal det bli 3 sider, men som du ser der oppe så kommer mange tall flere ganger, og også tallet 0.

det er hvordan jeg kan få det vekk jeg lurer på.

Skrevet (endret)

$i starter å telle på 0, da du deler 0 på 5 vil du få null. Så blir $i til 1, som du også deler på 5 og runder av til 0, og slik fortsetter det... Vis du skal ha id til hver av sidene må $ starte på 1, og du kan da ikke dele $i på 5?

Endret av Mr. Bakke
Skrevet (endret)

føler du misforstår.

 

jeg får frem akkurat de tallene jeg vil ha, men vil bare ha et av hver..

 

har forresten oppdatert posten før du sa det der.

Endret av kennteh
Skrevet

Føler selv at jeg ikke forstår. Hvert av tallene kommer en gang hver om du kutter $side = ceil($i / 5);. Og om du kun vil ha 5 tall gjør du slik: for($i = 1; $i <= 5; $i++){

Skrevet (endret)

jeg prøver å få det til å stå:

1 - 2 - 3 (osv etter hvor mange innlegg det er i tabellen, som igjen deles på 5 fordi skal være 5 innlegg pr. side)

 

 

dette er hva som skal skje senere og jeg skal gjøre da:

hvor hvert tall er en link med en variabel,

så hentes variabelen og jeg har mekket noen greier for å få til riktig limit i mysqlspørringen.

som sagt er det et pagination script jeg lager.

Endret av kennteh
Skrevet (endret)

PHP

<?php

$sider = ceil($antall[0] / 5);

for($i 1$i <= $sider$i++){

echo "<a href='index.php?side=$side'>$i</a> - ";

}

?>

 

Trur denne vil fungerer.

 

Edit: Fiksa ein feil i koden :blush:

Endret av Shadows0
Skrevet (endret)
PHP

<?php

$sider =  ceil($i / $antall[0]);

for($i = 1; $i <= $sider; $i++){

echo "<a href="index.php?side=$side">$i</a> - ";

}

?>

 

Trur denne vil fungerer.

8672192[/snapback]

 

herlig shadows0 :) den funket, måtte bare gjøre om til

$$sider =  ceil($antall[0] / $antall[0]+($antall[0]/5)-1);
for($i = 1; $i <= $sider; $i++){
echo "<a href=\"index.php?side=$side\">$i</a> - ";
}

 

takk

og takk til mr. bakke som hvertfall prøvde ;)

Endret av kennteh
Skrevet

Dette er vell hva du trenger:

 

$antall_sider = ceil($antall[0]/5);
for ($i=1;$i<$antall_sider+1;$i++) {
$result .= "<a href="index.php?side=$side">$i</a> - ";
}
print substr($result,0,strlen($result)-3);

Skrevet

nå funker den som fjell og den ser slik ut:

PHP
$sider = ceil($antall[0] / $antall[0]+($antall[0]/5)-1);

for($i = 1; $i <= $sider; $i++){

echo "<a href="filmer.php?side=$i">$i</a> - ";

}

Skrevet

Tror ikke det funker helt korrekt slik du har gjort. Du har regnet ut $sider på feil måte.

 

Såvidt jeg kan se vil $sider alltid være 1? Eller har jeg regnet feil.

 

$sider bør være ceil($antall[0]/5) om du skal ha 5 artikkler på hver side.

Skrevet (endret)
Tror og du kan få problemer med å bruke gåseøyne inne i gåseøyne, slik du har gjort.

8672479[/snapback]

 

Han har muligens brukt escape char forand, "\" eller \"", men jeg har oppleved flere ganger at escape char'en forsvinner i PHP tagene så resultatet blir "", spesielt hvis de blir plassert i mellom <?php ?> (for å få farge koding). Ellers så har du rett i at "" fungerer dårlig.

 

Edit: Ved nærmere ettersyn så er jo koden kun plassert i en code tag, ser at det er benyttet litt forskjellig metoder over, noen er lovlig og andre ikke.

Endret av crowly

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...