Jump to content
php.lv forumi

PHP paginator galerijai


susliks

Recommended Posts

Sveiki! Am... man ir liela problēma, kuru nesanāk nekā atrisināt, tad nu padomāju, var būt kāds no jums spēs man palīdzēt... Tad nu tā, lieta tāda, ka esmu izveidojis php galerijas skriptu, kur bildes tiek ņemtas no konkrētas mapītes un lapā tiek atspoguļotas, kā thumbnails, uzklikšķinot uz thumbnail, bilde atverās pilnā izmērā - izskatās aptuveni šādi:

 

juzaj7h7rvb45ml0ug5e.png

 

It kā viss būtu pareizi, jo man vajag, lai būtu 3 bildes uz sāniem un 3 bildes uz leju, bet problēma ir tāda, ka man vajadzētu arī, tā saucamo, paginator - varētu izskatīties aptuveni šādi:

 

l9e5m61xqn0njbu25wh.jpg

 

Pašreizējais skripts:

 

<?php

$dir = "images/";
if ($opendir = opendir($dir)){
$numb=0;
while (($file = readdir($opendir)) !==false){
 if ($file!="."&&$file!=".."){
  $numb++;
  echo "<a href='$dir/$file' target='_self'><img class='photo' src='$dir/$file' width='150' height='150' border='0' /></a>";
  if ($numb%3==0) echo '<br>';
  if ($numb==9) break;
 }
}
}


?>

 

Izrakāju visu googli, bet diemžēl bez panākumiem :( Visur ir parādīts, kā šo paginator pieveidot pie datubāzes t.i. ja bildes tiek ņemtas no turienes, bet nekur neatradu, kur būtu parādīts, kā to uztaisīt priekš šāda skriptiņa, kā man ir... :( Domāju, var būt kāds var palīdzēt sataisīt šādu lietu, vai arī kādam ir jau gatavs kāds līdzīgs skriptiņš?

 

Jau iepriekš paldies!

 

PS. Un lūdzu bez tekstiem - par velti nekas nenotiek utt. to es ļoti labi saprotu, bet rakstu ar cerību, ka var būt kādam nebūs īpaši grūti ko tādu izveidot, vai arī ir jau kas gatavs un var padalīties...

 

Ceru uz atsaucību un visiem veiksmīgu dienu!

Edited by susliks
Link to comment
Share on other sites

Ielasi visas bildes masīvā..

un tad rādi pirmos 9 elementus..

ja page = 2 .. tad

($page-1)*9 un rādi šos elementus utt.

utt. tākā masīvs sākas ar 0, tad problēmām ar izvadi nevajadžētu būt.

$page = $_GET['p']

$kurumasivaelementuvilktara = ($page-1)*9

$kurumasivaelementuvilktara būs 9..

jeb kopumā tas būs 10'ais elements.

Edited by waplet
Link to comment
Share on other sites

Šitam vajadzētu iet =]

 

<?php
if(isset($_GET['page']) and !empty($_GET['page']) and is_numeric($_GET['page'])) {
$page = $_GET['page'];
}
else {
$page = 1;
}
$max = 9;
$in_row = 3;
$results = $page*$max;
$maxi=$results-$max;
$dir = "./images/";
if ($opendir = opendir($dir)){
$numb=1;
$num=1;
while (($file = readdir($opendir)) !==false){
 if ($file!="."&&$file!=".."&&$file!="Thumbs.db"&&preg_match("/^(.+)(\.)([a-zA-Z]+)*$/",$file)){
  if($num>$maxi) {
  echo "<a href='$dir$file' target='_self'><img class='photo' src='$dir$file' width='150' height='150' border='0' /></a>";
  if ($numb==$in_row) { echo '<br />'; }
  }
  if ($numb==$in_row) { $numb=0; }
  if ($num==$results) { break; }
  $numb++;
  $num++;
 }
}
$total_results = count(scandir($dir));
$total_pages = ceil($total_results / $max)-1;
if(isset($_GET['page']) and !empty($_GET['page']) and is_numeric($_GET['page'])) {
$curr_page = $_GET['page'];
}
else {
$curr_page = 1;
}
print "<h4>Lapa ".$curr_page." no ".$total_pages."</h4>";
if($page > 1) {
$a1 = $page - 1;
print "<a href='?page=1'><-</a> ";
}
for($a = 1; $a <= $total_pages+1; $a++){
if($page==$a){
print "<a>$a</a> ";
}
else {
if($a<=$total_pages) {
print "<a href='?page=$a'>$a</a> ";
}
}
}
if(($page <= 1 or $page < $total_pages) and $total_results > $max) {
$a2 = $page+1;
print "<a href='?page=$a2'>-></a> ";
}
}
?>

Edited by emsy
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...