|
|
|
| В галереи определен вывод изображений функцией:
Как сделать чтобы пользователь мог выбрать между нескольким количеством 6,12,18,24 и всех изображениях ? | |
|
|
|
|
|
|
|
для: Sak[R]ed
(19.11.2006 в 07:00)
| | Примерно так:
<form action="" method="post">
<table border=0>
<tr>
<td>Количество изображений</td>
<td><select name="OnPage" size="1">
<option value="6"> 6 </option>
<option value="12"> 12 </option>
<option value="24"> 24 </option>
<option value="0"> Все </option>
</select></td>
<td><input type="submit" value="Ok" name="ok"></td>
</tr>
</table>
</form>
|
| |
|
|
|
|
|
|
|
для: tuder
(19.11.2006 в 08:19)
| | спасибо | |
|
|
|
|
|
|
|
для: Sak[R]ed
(19.11.2006 в 08:27)
| | Так не получится.
Помогите пожалуйста.
Вот скрипт галлереи:
<?
Error_Reporting(E_ALL & ~E_NOTICE);
function GetPages($url,$total,$perpage,$page,$amount=10){
$mpp = $perpage; $prev_page = $page - 1; $next_page = $page + 1;
if($total <= $mpp) $pages = 1;
else if($total % $mpp == 0) $pages = $total / $mpp;
else $pages = $total / $mpp + 1;
$pages = (int)$pages; if($pages=="") $pages = 1;
$s_pages = ($page < $amount)? 1 : floor($page / $amount) * $amount;
$e_pages = $page + ($amount - 1);
if($e_pages > $pages) $e_pages = $pages;
if($pages > $amount-1){
if($prev_page) $s .= ' <a href="'.$url.'page='.$prev_page.'"><< Назад</a> '."\n";
#if($prev_page != 0) $s .= ' <b><a href="'.$url.'page=1">1</a></b> ... '."\n";
}
for($i=$s_pages;$i<=$e_pages;$i++){
if($i != $page) $s .= '<b><a href="'.$url.'page='.$i.'"> '.$i.'</a></b> '."\n";
else if($i != 1) $s .= ' <b>['.$i.']</b> ';
else if($page != $pages) $s .= ' <b>[1]</b> ';
}
if($page != $pages && $pages > $amount-1){
#$s .= ' ... <b><a href="'.$url.'page='.$pages.'">'.$pages.'</a></b> '."\n";
$s .= ' <a href="'.$url.'page='.$next_page.'">Вперед >></a> '."\n";
}
if(!isset($s) or $s == "") $s = ' <b>[1]</b> ';
$printPage_begin = '<TABLE CellSpacing=0 CellPadding=0 Border=0>';
$printPage_begin .= ' <TR>';
$printPage_begin .= ' <TD Align="center" Style="padding-right:5px;padding-left:5px">';
$printPage_begin .= ' <b>Страницы ('.$pages.') :</b> ';
$printPage_end = '</TD></TR></TABLE>';
return $printPage_begin.$s.$printPage_end;
}
function getDirList ($dirName) {
static $result_array=array();
$d = dir($dirName);
while($entry = $d->read()) {
if ($entry != "." && $entry != "..") {
if (is_dir($dirName."/".$entry)) {
array_push($result_array,$entry);
//echo $dirName."/".$entry."<br>\n";
}
}
}
$d->close();
sort($result_array);
return $result_array;
}
function getDirContents ($dirName) {
static $result_array=array();
$d = dir($dirName);
while($entry = $d->read()) {
if ($entry != "." && $entry != "..") {
if (!is_dir($dirName."/".$entry)) {
str_replace(" ", "[spc]",(str_replace("&", "[amp]",$entry)));
array_push($result_array,$entry);
}
}
}
$d->close();
sort($result_array);
return $result_array;
}
// Load the directory tree
$DirArray = getDirList("./pictures");
for($i=0; $i < count($DirArray); $i++) {
if($dir==$DirArray[$i]) {
$DirIndex = $i;
}
}
$NextDir = "showimages.php?dir=".$DirArray[$DirIndex + 1];
$PrevDir = "showimages.php?dir=".$DirArray[$DirIndex - 1];
$NextDirNam = $DirArray[($DirIndex + 1)];
$PrevDirNam = $DirArray[($DirIndex - 1)];
if ($DirIndex == 0) {
$PrevDir = "showimages.php?dir=".$DirArray[(Count($DirArray) - 1)];
$PrevDirNam = $DirArray[(Count($DirArray) - 1)];
}
if (($DirIndex + 1) > (Count($DirArray) - 1)) {
$NextDir = "showimages.php?dir=".$DirArray[0];
$NextDirNam = $DirArray[0];
}
?></B></FONT></P><DIV ALIGN="center"></DIV><TABLE WIDTH="450" BORDER="0" CELLSPACING="2" ALIGN="CENTER"><TR BGCOLOR="#ffffff"><TD NOWRAP COLSPAN="3"><CENTER><FONT SIZE="3"><B><A HREF="index.php">на главную
</A> / <?
echo str_replace(".", " ",$dir);
$Column = 1;
$DirName = $DirArray[$DirIndex];
$CurrentDir = "./pictures/".$DirName;
$DirContents = getDirContents($CurrentDir);
$TotalImage = count($DirContents);
$OnPage = 12; // Кол-во картинок на странице
if (isset($_GET['page']) and $_GET['page']!='') $Page = $_GET['page'];
else $Page = 1;
$To = ($Page-1)*$OnPage;
$From = $OnPage*$Page-1;
if($To<=0) $To = 1;
if($From>$TotalImage) $From = $TotalImage;
$Url = (isset($_GET['dir']) or $_GET['dir']!='')? 'showimages.php?dir='.$_GET['dir'].'&': 'showimages.php?';
?></B><br><?=GetPages($Url,$TotalImage,$OnPage,$Page,6);?></FONT></CENTER></TD></TR><TR><TD NOWRAP WIDTH="195" BGCOLOR="#ffffff"><DIV ALIGN="CENTER"><FONT SIZE="1" FACE="Arial, Helvetica, sans-serif"><B><A HREF="<?=$PrevDir?>"><?
echo str_replace(".", " ",$PrevDirNam);
?></A></B></FONT></DIV></TD><TD NOWRAP WIDTH="44"> </TD><TD NOWRAP WIDTH="197" BGCOLOR="#ffffff"><DIV ALIGN="CENTER"><FONT SIZE="1" FACE="Arial, Helvetica, sans-serif"><B><A HREF="<?=$NextDir?>"><?
echo str_replace(".", " ",$NextDirNam);
?></A></B></FONT></DIV></TD></TR></TABLE><P ALIGN="CENTER"><?
echo "<table border=\"0\" cellspacing=\"30\" cellpadding=\"0\"><tr>";
//echo $CurrentDir;
for ($i=$To-1; $i<=$From-1; $i++) {
#for($i=0; $i < count($DirContents); $i++) {
echo "<td ><img onclick=\"getCode(this.src);\" border=\"0\" src=\"".$CurrentDir."/".$DirContents[$i]."\"></td>";
if($Column==6) {
$Column = 0;
echo "</tr>";
}
$Column++;
}
if($Column != 0) {
for($i=$Column; $i<8;$i++){
echo "<td>";
}
}
echo "</font></table>";
?>
|
| |
|
|
|
|
|
|
|
для: Sak[R]ed
(19.11.2006 в 11:31)
| | Такие здоровые бесструктурные листинги, лучше прикреплять к сообщению в виде файлов, мало найдётся желающих разбираться в огромном - не обработанном коде, но желающих выгружать каждый раз здоровую тему для ответа будет ещё меньше. | |
|
|
|
|
|
|
|
для: cheops
(19.11.2006 в 12:51)
| | кстати при переносе на *.metroland.ru скрипт перестоёт работать, поможите ? | |
|
|
|