Σελιδοποίηση στην php από φακέλους

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Baudeluard
Δημοσιεύσεις: 1
Εγγραφή: 03 Μαρ 2011 15:09

Σελιδοποίηση στην php από φακέλους

Δημοσίευση από Baudeluard » 03 Μαρ 2011 15:59

Γεια σας,

Έχω φτιάξει μια gallery με κατηγορίες η οποία διαβάζει το περιεχόμενο των φακέλων, στους οποίους βρίσκονται τα εικονίδια και οι κανονικές εικόνες. Αυτό που θέλω να κάνω είναι σελιδοποίηση των αποτελεσμάτων. Επειδή οι εικόνες είναι αποθηκευμένες σε φακέλους έχω φτιάξει έναν πίνακα όπου αποθηκεύει τα στοιχεία της εκάστοτε κατηγορίας και τα διαιρώ με τον αριθμό των στοιχείων που θέλω να έχω σε κάθε σελίδα
($totalpages=ceil(count($thumbnails) / $thumbsperpage); ). Παρόλα αυτά δεν μπορώ να σπάσω τα εικονίδια στον αριθμό που θέλω και μου εμφανίζονται όλα μαζί. Το πρόβλημα βρίσκεται στη loop: for($i=$start;$i<$start + thumbsperpage;$i++)
{
echo thumbnails[$i];
}

Λογικά πρέπει να την βάλω εκεί που μου τυπώνονται τα εικονίδια; Όταν το κάνω αυτό όμως μου πολλαπλασιάζει το κάθε εικονίδιο δέκα φορές.

Έχετε καμιά ιδέα τι να κάνω;
Ευχαριστώ


Παρακάτω σας παραθέτω τον κώδικα που έχω φτιάξει

<?php

$page=$_SERVER['PHP_SELF'];
$get_id=$_GET['id'];
$conn=mysql_connect("localhost", "root", "") or die('cannot connect to server');
mysql_select_db('info_projects', $conn) or die('cannot connect to table');
//
$query="SELECT * FROM descriptions WHERE id='$get_id'";
mysql_query("set names utf8");
$result=mysql_query($query, $conn) or die(mysql_error());

//
$base="photos/projects";
$thumbs="thumbs";
$get_category=$_GET['category'];

while(($arr=mysql_fetch_array($result))) {
$title=$arr['title'];
$description=$arr['description'];
echo $title."<br/>"."<br/>".$description."<br/>";
}

//megistos arithmos thumbs ana selida
$thumbsperpage=10;

//count thumbnails
//$count_thumbnails=count($thumbnails);


//dimiourgw pinaka gia ta thumbs
$thumbnails=array();

//arxi gia to index tou pinaka
$start=($current_page*$thumbsperpage)-$thumbsperpage;

//apothikevw ston pinaka ta thumbs tis kathe katigorias

if (is_dir($base."/".$get_category."/".$thumbs))
{
if ($dh = opendir($base."/".$get_category."/".$thumbs))
{
while (($filea= readdir($dh)) !== FALSE)
{
if($filea!= "." && $filea != ".."&& $filea!= ".DS_Store")
{

array_push($thumbnails,$filea);
$apotelesma=count($thumbnails);
print_r ( $apotelesma);

}
}
//total pages
$totalpages=ceil(count($thumbnails) / $thumbsperpage);
echo ("<br/>".$totalpages."Σελίδες");
closedir($dh);
}
}

if(isset($_GET['p'])){
$current_page = $_GET['p'];
if($current_page > $totalpages){
$current_page = $totalpages;
}
}
else
{
$current_page=1;
}


print( "<br/>"."Σελίδα". $current_page . " από " . $totalpages . "<br><br>\n\n" );

for($i=$start;$i<$start + thumbsperpage;$i++)
{
echo $i;

}
// typwnei ta links gia tis selides

for( $j=0; $j<$totalpages; $j++ ) {
$p = $j + 1;
echo ( "<a href='$page?p=".$p."'>" . $p . "</a> " );
}

if(!$get_category)
{
$handle=opendir($base);
while (($file=readdir($handle))!==FALSE)
{
if(is_dir($base."/".$file) && $file!="." && $file!=".." && $file!="$thumbs" && $file!=".DS_Store" )
{

echo "<a href='$page?category=$file'></a>" ;
}
}
closedir($handle);
}
else
{
if (!is_dir($base."/".$get_category) || strstr($get_category, ".")!=NULL || strstr($get_category, "/")!=NULL || strstr($get_category, "\\")!=NULL )
{
echo "Category doesn't exist!!!";
}
else
{
echo"<br/>";
$handle=opendir($base."/".$get_category);
while (($file=readdir($handle))!==FALSE)
{

if ($file !="." && $file!=".." && $file!=".DS_Store" && $file!="$thumbs" )
{
echo "<table style='display:inline-table' class='pic' cellpadding='0' cellspacing='0'><tr><td><a href='$base/$get_category/$file' rel='lightbox[$base]'><img src='$base/$get_category/$thumbs/$file' border='0'></a></td></tr></table>" ;
}
}
closedir($handle);
}
}
?>

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης