Avatar billede klaske_ko Nybegynder
18. september 2004 - 16:32 Der er 10 kommentarer og
1 løsning

Antal Uploads pr. side

Hejsa...jeg ville gerne have så jeg fx havde 100 uploads pr side :) Eller hvis der var en drop down, så jeg kunne bestemme hvor mange den skulle vise...

Håber I kan/vil hjælpe...

koden er flg:

<?
require_once('design.top.inc');
if(!$currentuser->Logget_ind){
    Redirect();
}
if(!$currentuser->Admin == 1){
    Redirect();
}
?>

<h2>Alle filer</h2>
<?
$files = get_files('uploadtime desc');

$lastdate = '';
$i = 1;
if(is_array($files)){
    echo '<table class="filelist" cellspacing="0"><tr class="top"><td>Filnavn</td><td>Hits</td><td>Size</td><td>Uploadtid</td><td>&nbsp;</td><td>&nbsp;</td><td>Udløbsdato</td><td>IP</td></tr>'.n;
    foreach ($files as $file){
        $i++;
        $date = date('j/n Y \k\l. H',$file->uploadtime);
        echo '<tr class="row'.($i%2).'"><td><a href="'.URL.'files/'.$file->filename.'">'.$file->filename.'</a></td>';
        echo '<td>'.$file->downloads.'</td>';
        echo '<td>'.floor($file->size/1024).' kb</td>';
        echo '<td>'.date('j/n \'y',$file->uploadtime).'</td>';
        echo '<td>';
        if($file->password <> ''){
            echo '<img src="lock.gif" />';
        }else{
            echo '&nbsp;';
        }
        echo '</td><td><a href="ret_fil.php?action=omdøb&fil='.$file->filename.'">Omdøb</a>, <a href="ret_fil.php?action=slet&fil='.$file->filename.'">Slet</a>';
        if($file->password <> ''){
            echo ', <a href="ret_fil.php?action=fjernkode&fil='.$file->filename.'">Fjern kodeord</a>';
        }else{
            echo ', <a href="ret_fil.php?action=tilføjkode&fil='.$file->filename.'">Ny kode</a>';
        }
        echo '</td><td>';

        $diff = $file->killdate-time();
        $days = floor($diff/86400);
        $diff = $diff-$days*86400;
        $hours = floor($diff/3600);
        $diff = $diff-$hours*3600;
        $minutes = floor($diff/60);
        $diff = $diff-$minutes*60;
        $seconds = $diff;
        if($days <> 0){
            $time = '> '.$days.' dage';
        }elseif($hours <> 0){
            $time = '> '.$hours.' timer';
        }elseif($minutes <> 0){
            $time = '> '.$minutes.' min';
        }else{           
            $time = '> '.$seconds.' sek';
        }
        echo $time;
        //echo "$days dage, $hours timer, $minutes minutter, $seconds sekunder";
        echo ' <a href="ret_fil.php?action=touch&fil='.$file->filename.'">Refresh</a></td>';
        echo '<td><a href="ban.php?ip='.$file->userip.'">'.$file->userip .'</a></td></tr>'.n;
        $lastdate = $date;
    }
    echo '</table>';
}
?>
<?
require_once('design.bottom.inc');
?>
Avatar billede onkel_satan Nybegynder
18. september 2004 - 17:01 #1
Det her maaske:
if(isset($_REQUEST['start'])){
    $start = $_REQUEST['start'];
}else{
  $start = 0;
}
$antal = count($files)
for($i=0; $i<100; $i++){
    extract(files[$i]);
    .....
    ...
}
$start += 100;
$next = "<a href='sammeSide.php?start'>Næste side</a>";
echo $next;
Avatar billede klaske_ko Nybegynder
18. september 2004 - 17:04 #2
jamen hvordan skal jeg smide det ind i koden ?
Avatar billede klaske_ko Nybegynder
18. september 2004 - 17:05 #3
btw, den skal jo ik kun have næste side.. osse forrige...ville jeg være glad for...
Avatar billede onkel_satan Nybegynder
18. september 2004 - 17:17 #4
En lille rettelse:
$next = "<a href='sammeSide.php?start=$start'>Næste side</a>";

For at kunne gå tilbage vill jeg gøre saadan her:
$start += 100;
if($start<$antal)$next = "<a href='sammeSide.php?start'>Næste side</a>";
$start -= 200
if($start > 0)$previous = "<a href='sammeSide.php?start'>Næste side</a>";

forløkken som løber dine arrays igennem skal ¨ådan set bare erstatte din foreach løkke og så bruge extract() til at trække data ud af dit array.
Avatar billede klaske_ko Nybegynder
18. september 2004 - 17:19 #5
vil du ik lige lave det ind i koden...kan ik forstå så meget af det der ;P er ik ret god til php, har kun kodet en måned
Avatar billede onkel_satan Nybegynder
18. september 2004 - 17:31 #6
if(isset($_REQUEST['start'])){
    $start = $_REQUEST['start'];
}else{
  $start = 0;
}
$antal = count($files)


if(is_array($files)){
    echo '<table class="filelist" cellspacing="0"><tr class="top"><td>Filnavn</td><td>Hits</td><td>Size</td><td>Uploadtid</td><td>&nbsp;</td><td>&nbsp;</td><td>Udløbsdato</td><td>IP</td></tr>'.n;
    for($t=0; $t<100; $t++){
        //Du kan saa enten bruge $files[$i] ELLER ectract($files). Her skal du saa kende navne på variablerne som arrayet indeholder
        $i++;
        $date = date('j/n Y \k\l. H',$file->uploadtime);
        echo '<tr class="row'.($i%2).'"><td><a href="'.URL.'files/'.$file->filename.'">'.$file->filename.'</a></td>';
        echo '<td>'.$file->downloads.'</td>';
        echo '<td>'.floor($file->size/1024).' kb</td>';
        echo '<td>'.date('j/n \'y',$file->uploadtime).'</td>';
        echo '<td>';
        if($file->password <> ''){
            echo '<img src="lock.gif" />';
        }else{
            echo '&nbsp;';
        }
        echo '</td><td><a href="ret_fil.php?action=omdøb&fil='.$file->filename.'">Omdøb</a>, <a href="ret_fil.php?action=slet&fil='.$file->filename.'">Slet</a>';
        if($file->password <> ''){
            echo ', <a href="ret_fil.php?action=fjernkode&fil='.$file->filename.'">Fjern kodeord</a>';
        }else{
            echo ', <a href="ret_fil.php?action=tilføjkode&fil='.$file->filename.'">Ny kode</a>';
        }
        echo '</td><td>';

        $diff = $file->killdate-time();
        $days = floor($diff/86400);
        $diff = $diff-$days*86400;
        $hours = floor($diff/3600);
        $diff = $diff-$hours*3600;
        $minutes = floor($diff/60);
        $diff = $diff-$minutes*60;
        $seconds = $diff;
        if($days <> 0){
            $time = '> '.$days.' dage';
        }elseif($hours <> 0){
            $time = '> '.$hours.' timer';
        }elseif($minutes <> 0){
            $time = '> '.$minutes.' min';
        }else{           
            $time = '> '.$seconds.' sek';
        }
        echo $time;
        //echo "$days dage, $hours timer, $minutes minutter, $seconds sekunder";
        echo ' <a href="ret_fil.php?action=touch&fil='.$file->filename.'">Refresh</a></td>';
        echo '<td><a href="ban.php?ip='.$file->userip.'">'.$file->userip .'</a></td></tr>'.n;
        $lastdate = $date;
    }
    echo '</table>';
}

$start += 100;
if($start<$antal)$next = "<a href='sammeSide.php?start'>Næste side</a>";
$start -= 200
if($start > 0)$previous = "<a href='sammeSide.php?start'>Forrige side</a>";

if(isset($next)) echo $next;
if(isset($previous)) echo $previous;

Som sagt ved jeg ikke helt hvad dit array indeholder af data, men du skulle nok kunne accesse det men en ad de to ovennævnte metoder.
Men hele fidusen er altsaa at holde øje med hvor man skal starte i array'et og så udskriv det antal man nu vil se.
Avatar billede onkel_satan Nybegynder
18. september 2004 - 17:40 #7
ok kigge lige lidt mere på dit array. Jeg ville helt klart bruge extract()
Du skriver som sagt extract(files[$i]) og saa vil den automatisk lave variablerne, $uploadtime, $downloads, $filename etc og lægge den rigtige værdi i dem.
Avatar billede klaske_ko Nybegynder
18. september 2004 - 17:43 #8
den kode virker ik :(
Avatar billede onkel_satan Nybegynder
18. september 2004 - 17:54 #9
hmm.. hvad er det den brokker sig over ?? mit gæt ville være omkring array'et/dine variabler.

Hvis du bruger extract() skal du erstatter dine $file->filename med bare $filename. Den laver nemlig automatisk en variable til dine værdier.

Jeg er rimlig sikker på at for 100 uploads/side er ok. Prøv og se om du ikke kan løse det andet problem med fejlmeddelserne du faar. Jeg skal desvaerre ud til fødselsdag nu så jeg kan desvaerre ikke hjælpe dig mere lige nu. Så enten skal en anden tage over eller må du selv lige løse det sidste. Men jeg er rimlig sikker på at det er en eller anden lillle ting et eller andet sted der lige skal rettes, så det burge ikke vaere saaa svaert.
Håber du faar det til at virke.
Avatar billede klaske_ko Nybegynder
18. september 2004 - 23:05 #10
jeg er ved at få en til at fixe det for mig :)

poster det her bag efter :) sååå ...pyt...
Avatar billede klaske_ko Nybegynder
27. september 2004 - 17:48 #11
luk...
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