/ 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
Læse en del af et array.
Fra : Kasper Nordal Lund


Dato : 17-09-06 20:32

Hej med jer.

Jeg har følgende kode, som i tidligere har hjulpet mig med herinde:

$thumbs = '../../pics/born/120x90/'; //mappe til thumbnails
$allowed_types = array('jpg','JPG'); // filtyper der er tilladte
$dimg = opendir($thumbs);
?>
      <tr>
<?php
      $a_img = array();
      while(false !== ($imgfile = readdir($dimg)))
      if (in_array(strtolower(substr($imgfile,-3)),$allowed_types)) $a_img[] = $imgfile;
      if ($imgfile != "." && $imgfile != ".."){

      sort($a_img);
      foreach ($a_img as $image) {
         echo "<td><a href=\"pics.php?id=$i\"><img src=\"$thumbs$image\" width=\"120\" height=\"90\" alt=\"Klik for stort billede\" title=\"Klik for stort billede\"/></a></td>\n";
         if (++$i % 3 == 0) echo "</tr><tr>\n";
      }
      }
      $i = $i++;
      
      
echo "</tr></table>\n";
echo "<p class=\"center\"><a href=\"thumbs.php?start=$i\">N&aelig;ste</a></p>";
echo "<br />";

?>

Jeg vil nu gerne have at jeg kun viser 15 billeder på siden altså fra 0
- 14 på den første side.

Linket (næste) nederst i koden sender så brugeren til samme side men med
start=$i som er 14 + 1, nu skal koden tage fra nummer 15-29 i arrayet, men
den kan jeg altså ikke lige regne ud.

Målet er altså at der kun skal vises 15 billeder pr. side med et link
til de næste 15.

Håber i kan hjælpe.

/Kasper

 
 
Christian Joergensen (19-09-2006)
Kommentar
Fra : Christian Joergensen


Dato : 19-09-06 08:31

Kasper Nordal Lund <kasper@fakeusenet.dk> writes:

> Jeg vil nu gerne have at jeg kun viser 15 billeder på siden altså fra 0
> - 14 på den første side.

Du kan klippe i arrays med array_slice(): http://php.net/array_slice

> Linket (næste) nederst i koden sender så brugeren til samme side men med
> start=$i som er 14 + 1, nu skal koden tage fra nummer 15-29 i arrayet, men
> den kan jeg altså ikke lige regne ud.

Hvis nu du gemmer dit offset i en GET-parameter, kan du benytte den som
startvaerdi. Slutvaerdien kan du saa nemt beregne ud fra den ved at laegge
antallet af billeder du vil have paa siden (15) til.

Udregningen af forrige offset er blot at tage den nuvaerende startvaerdi og
traekke 15 fra. Naeste offset bliver ligeledes slutvaerdien + 1. For at
beskytte mod indekseringer udover arrayets stoerrelse, kan du, i det du
skal udskrive links, kontrollere hvorvidt det udregnede offset til forrige
side er stoerre end 0 henholdsvis det udregnede offset til naeste side er
mindre end antallet af indgange i arrayet,

--
Christian Joergensen | Linux, programming or web consultancy
http://www.razor.dk | Visit us at: http://www.gmta.info

Kasper Nordal Lund (24-09-2006)
Kommentar
Fra : Kasper Nordal Lund


Dato : 24-09-06 21:31

On Tue, 19 Sep 2006 09:31:23 +0200, Christian Joergensen wrote:

> Kasper Nordal Lund <kasper@fakeusenet.dk> writes:
>
>> Jeg vil nu gerne have at jeg kun viser 15 billeder på siden altså fra 0
>> - 14 på den første side.
>
> Du kan klippe i arrays med array_slice(): http://php.net/array_slice
>

Virker pefekt - takker.


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste