webForumDet fria alternativet

Clickcount 2

4 svar · 331 visningar · startad av Robba

RobbaMedlem sedan juni 200016 inlägg
#1

Hur gör jag för att bara läsa in de 5 första raderna ifrån denna db? Nedanstående "script-snutt" läser in samtliga raderna

# write all urls

open(DATA, "$dbfile");
@db = <DATA>;
close(DATA);
foreach (@db) {
($clicks, $url) = split /\|/;
$totclicks = $totclicks+$clicks;
print qq|
<tr>
<td><font face="Tahoma" size="2">$url</font></td>
<td><font face="Tahoma" size="2">$clicks</font></td>
</tr>
|;
}

------------------
/Robba

demo
#2

Prova med att lägg till en until-sats i programmet.

$k=1;
until ($k eq 5){

' Det du vill att programmet skall göra

$k++;
}
RobbaMedlem sedan juni 200016 inlägg
#3

Jag är ganska "ny" på CGI/Perl, vad exakt ska jag skriva där det står "Det du vill att programmet skall göra"

Tanken är att scriptet ska läsa in dom 5 länkarna som flest har klickat på, en Topp 5 lista typ!

Tacksam för svar...

------------------
/Robba

demo
#4

Jag är nybörjare även jag.
Men du bör väl även kunna lägga in en räknare som avbryter när du skrivit ut de 5 första raderna.

Förslagsvis något i nedanstående stil.

Men som sagt, jag är nybörjare även jag.

Mvh,
Demo

$antal=1;
open(DATA, "$dbfile");
@db = <DATA>;
close(DATA);
foreach (@db) {
($clicks, $url) = split /\|/;
$totclicks = $totclicks+$clicks;
print qq|
<tr>
<td><font face="Tahoma" size="2">$url</font></td>
<td><font face="Tahoma" size="2">$clicks</font></td>
</tr>
|;
$antal++;

if($antal eq 5){

' Vad som skall ske när 5 rader skrivits ut Typ, "exit;" eller gå till någon subrutin

}
}
RobbaMedlem sedan juni 200016 inlägg
#5

Tack, ska testa det senare!

------------------
/Robba

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)