/ 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
Liste-opdeling
Fra : Brian Emilius


Dato : 21-08-03 12:29

Følgende kode genererer en liste over nogle data i en extern
fil...

$row = 1;
$handle = fopen ("users/users.csv","r");
while ($data = fgetcsv ($handle, 1000, ";")) {
$num = count ($data);
$row++;

print "<tr>";

   print "<td>";
   print "<p>$data[1]</p>";
   print "</td>";

   print "<td>";
   print "<p>$data[2]</p>";
   print "</td>";

   print "</tr>";

}
fclose ($handle);

Hvis jeg gerne vil opdele listen i fx 20 poster ad gangen,
hvordan går jeg så?
Det, jeg leder efter, er en kode der kan dele op således at jeg
fx i nederste højre hjørne står "Side 1 2 3 4 5 osv."

På forhånd tak

Brian Emilius

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

 
 
Morten Winkler Jørge~ (21-08-2003)
Kommentar
Fra : Morten Winkler Jørge~


Dato : 21-08-03 13:17

Brian Emilius wrote:


$row = 1;
$handle = fopen ("users/users.csv","r");
while ($data = fgetcsv ($handle, 1000, ";")) {
$num = count ($data);
$row++;

HER >> if($row > $startat && $row < $startat+20) {
print "<tr>";

print "<td>";
print "<p>$data[1]</p>";
print "</td>";

print "<td>";
print "<p>$data[2]</p>";
print "</td>";

print "</tr>";
HER >> }

}

echo "<A HREF=\"here?startat=0\">side 1</A>";
echo "<A HREF=\"here?startat=20\">side 2</A>";
echo "<A HREF=\"here?startat=40\">side 3</A>";
fclose ($handle);


skulle give en ide om hvordan det kan gribes an.


Morten

Rasmus Christian Kaa~ (21-08-2003)
Kommentar
Fra : Rasmus Christian Kaa~


Dato : 21-08-03 21:32

> HER >> if($row > $startat && $row < $startat+20) {


Omend det er en anelse sløvt hvis man gerne vil udtrække linjerne
1000000-1000020 da den løber de første 1000000-linjer igennem før den finder
ud af hvilke der skal udprintes.

---
Rasmus Christian Kaae
www.3kings.dk | www.hestebasen.com



Morten Winkler Jørge~ (22-08-2003)
Kommentar
Fra : Morten Winkler Jørge~


Dato : 22-08-03 06:53

Rasmus Christian Kaae wrote:

>> HER >> if($row > $startat && $row < $startat+20) {
>
>
> Omend det er en anelse sløvt hvis man gerne vil udtrække linjerne
> 1000000-1000020 da den løber de første 1000000-linjer igennem før den
> finder ud af hvilke der skal udprintes.

Korrekt - og jeg ser tydeligt hvordan din ændring til koden løser Brian's
problem meget hurtigere.

"Make the common case fast", og da Brian's fil hedder users.csv vil han have
1/5 til 1/6 af danmarks befolkning som brugere før det bliver aktuelt at
suse 1 million linjer igennem. Du har fuldstændigt ret i at det virker som
et så generelt tilfælde at det er et oplagt sted at optimere.

Morten

Brian Emilius (07-09-2003)
Kommentar
Fra : Brian Emilius


Dato : 07-09-03 19:01

> $row = 1;
> $handle = fopen ("users/users.csv","r");
> while ($data = fgetcsv ($handle, 1000, ";")) {
> $num = count ($data);
> $row++;
>
> HER >> if($row > $startat && $row < $startat+20) {
> print "<tr>";
>
> print "<td>";
> print "<p>$data[1]</p>";
> print "</td>";
>
> print "<td>";
> print "<p>$data[2]</p>";
> print "</td>";
>
> print "</tr>";
> HER >> }
>
> }
>
> echo "<A HREF=\"here?startat=0\">side 1</A>";
> echo "<A HREF=\"here?startat=20\">side 2</A>";
> echo "<A HREF=\"here?startat=40\">side 3</A>";
> fclose ($handle);

Men hvad så hvis jeg bare vil nøjes med et "Tilbage" og "Næste"-link hvis
der fx er mere end 20 rækker i listen?



Søg
Reklame
Statistik
Spørgsmål : 177518
Tips : 31968
Nyheder : 719565
Indlæg : 6408647
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste