Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Переход по фотографиям
 
 автор: Коляка   (14.12.2005 в 13:23)   письмо автору
 
 

Помогите разабраться как сделать из этого то что мне нужно (оно выводит переход по страницам если кол-во фото превышает $ppp, на странице маленькие фото с ссылкой на большие)

FUNCTION page($curr, $all, $url, $urlbegining, $urlend){
  $numpag=(int)($all);
  if ($numpag<$all) $numpag++;
  if ($numpag==0) $numpag=1;
  $currp=(int)($curr);
  foreach($_GET as $n => $v)
    $res="[&lt;&lt;&lt;][";
  if ($curr<=1) $res="[&lt;&lt;&lt;]["; else $res="[<a href=".$urlbegining.$url."=" .($currp-1).$urlend.">&lt;&lt;&lt;</a>][";
  if ($numpag<=14)
    for ($i=1;$i<=$numpag;$i++) 
      if ($i<=$curr && $i>=$curr) $res.="<b><font size=2>" .$i."</font></b> |"; else $res.="<a href=".$urlbegining.$url."=".$i.$urlend.">".$i."</a> |";
  else {
    $showpag=14;
    $st=$currp-6;
    if ($st<1) {$st=1;}
    if ($st>1) { 
      $res.=" <a href=".$urlbegining.$url."=1".$urlend."> 1..</a> |"; 
      $showpag-=2;
    }
    if ($st+$showpag>$numpag) $st=$numpag-$showpag;
    for ($i=$st;$i<=$st+$showpag;$i++) 
      if ($i<=$curr && $i>=$curr) $res.="<b> ".$i."</b> |"; else $res.=" <a href=".$urlbegining.$url."=".$i.$urlend.">".$i."</a> |";
      if ($st<($numpag-$showpag)) $res.=" <a href=".$urlbegining.$url."=".$numpag.$urlend.">..$numpag</a> |";
  }
  $res=substr($res,0,strlen($res)-1);
  if ($curr>=($all+1)) $res.=" ][&gt;&gt;&gt;]"; else $res.=" ][<a href=".$urlbegining.$url."=".($currp+1).$urlend.">&gt;&gt;&gt;</a>]";
  return $res;
}



$gfile = file("files/gallery.set");
 for($o=0;$o<count($gfile);$o++) {
   $v = explode("<>",$gfile[$o]);
   if ($v[0] == $ide && file_exists("gallery/thumb_small/".$v[1])) { $gl[] = $gfile[$o]; }
 }
if (!isset($page)){$page = "1";}else{$page = $page;}
 $count = count($gl);
 $pages = ceil($count/$ppp);
 if ($count > $ppp) {
   $com_nav = page($page, $pages, "&page", "?set=gallery&mc=category&ide=$ide" , "");
   $text.= "<center>".$com_nav."</center>"; 
 }


Мне нужно сделать чтобы при просмотре большой фотографии сверху был переход на другие фото, и не надо возвращаться обратно к маленьким чтобы выбирать
gallery.set выглядит так
1<>2<>3<>4<>

1 - номер категории
2 - имя файла.jpg(gif)
3 - название
4 - номер фото

на каждое фото своя строчка
большие фото в папке gallery / thumb_big, ссылка на фото выглядит так ?set=gallery&mc=view&ide=$ide&pg=$page&pict=$pict
Попробовал, что то получаеться, но выводит ссылки на все фото а они у меня в разных категориях, и мне надо чтобы в каждой категории выводились фотографии только этой категории

   
 
 автор: Коляка   (15.12.2005 в 12:34)   письмо автору
 
   для: Коляка   (14.12.2005 в 13:23)
 

Может кто поможет, а? Сам не разберусь . плиз

   
 
 автор: cheops   (15.12.2005 в 13:30)   письмо автору
 
   для: Коляка   (15.12.2005 в 12:34)
 

Я если честно чего-то не очень понял вопрос...

   
 
 автор: Коляка   (15.12.2005 в 17:32)   письмо автору
 
   для: cheops   (15.12.2005 в 13:30)
 

В галерее есть категории, в каждой категории есть фото прикрепленные к номеру этой кактегории, когда входишь в кат. то на экране маленькие фото( кол-во которых на странице равное $ppp ), при нажатии на них переходишь на большое фото с комментами к ним, и чтобы выбрать для просмотра другое фото надо вернуться на страницу с маленькими, а мне надо чтоб на странице с большим фото над ним были ссылки что то вроде <<< 1 | 2 | 3 | 4 >>>, на другие большие фото. Тот скрипт который в первом посте работает тогда когда кол-во фото в базе (файловая база) больше $ppp, он выводит на странице с маленькими фото ссылки на другие страницы со следующими маленькими фото, вот я и прошу помочь разобраться может можно этот скрипт переделать в то что мне надо, или какие нибудь может другие варианты есть ...

   
 
 автор: cheops   (15.12.2005 в 23:33)   письмо автору
 
   для: Коляка   (15.12.2005 в 17:32)
 

В самом грубом приближении можно сделать две копии этого скрипта - в одном будут выводится большие картинки, в другом маленькие. И пусть они ссылаются друг на друга.

   
 
 автор: Коляка   (16.12.2005 в 00:42)   письмо автору
 
   для: cheops   (15.12.2005 в 23:33)
 

>В самом грубом приближении можно сделать две копии этого
>скрипта - в одном будут выводится большие картинки, в другом
>маленькие. И пусть они ссылаются друг на друга.
Я немного не понял ( учусь ещё) и сделал так: скопировал этот скрипт, поменял его немного, задал $ppp=1, направил в этот же файл gallery.set, он выдал ссылки на все фото <<< 1 | 2 | 3 ... 54 | 55 >>> а как сделать так как вы сказали , не обязательно за меня делать ( выкладывать готовый скрипт ) просто обьясните немного на пользовательском уровне, а я сам попробую сделать ...

   
 
 автор: cheops   (16.12.2005 в 14:03)   письмо автору
 
   для: Коляка   (16.12.2005 в 00:42)
 

Вы формирует строку с построничной навигацией при помощи строки
<?php
  page
($page$pages"&page""?set=gallery&mc=category&ide=$ide"");
?>

на странице с большими фотографиями, вам просто потребуется передать адрес страницы с большими фотографиями
<?php
  page
($page$pages"&page""bigphoto.php?set=gallery&mc=category&ide=$ide"");
?>

и для симметри для маленьких фотографий
<?php
  page
($page$pages"&page""smallphoto.php?set=gallery&mc=category&ide=$ide"");
?>

   
 
 автор: Коляка   (16.12.2005 в 16:31)   письмо автору
 
   для: cheops   (16.12.2005 в 14:03)
 

Дело в том, что у меня сайт на SET-cms. а там все ссылки на блоки и модули идут со страницы index.php, например на новости : index.php?set=news, (где news - папка, в ней свой index.php) если делать какие то переходы по новостям, то просто добавляется к ссылке : index.php?set=news&mc=readfull&do=3 , и если добавлять страницы smallphoto.php и bigphoto.php, то там надо много переделывать (не осилю) я вам скину адрес сайта на е-майл, посмотрите если не сложно ...

   
 
 автор: cheops   (17.12.2005 в 00:41)   письмо автору
 
   для: Коляка   (16.12.2005 в 16:31)
 

А как различаются адреса страниц с большой и маленькой фотографией?

   
 
 автор: Коляка   (17.12.2005 в 02:14)   письмо автору
 
   для: cheops   (17.12.2005 в 00:41)
 

Каждая фотография имеет свой номер в galery.set
gallery.set выглядит так
1<>2<>3<>4<>

1 - номер категории
2 - имя файла.jpg(gif)
3 - название
4 - номер фото

фото хранится в 2 - х папках : thumb_small и thumb_big, как я понимаю из galery.set делается массив, и выводятся маленькие фото с ссылкой на большие
$gfile = file("files/gallery.set");
 for($o=0;$o<count($gfile);$o++) {
   $v = explode("<>",$gfile[$o]);
   if ($v[0] == $ide && file_exists("gallery/thumb_small/".$v[1])) { $gl[] = $gfile[$o]; }
 }
 if (!isset($page)){$page = "1";}else{$page = $page;}
 $count = count($gl);
 $pages = ceil($count/$ppp);
 if ($count > $ppp) {
   $com_nav = page($page, $pages, "&page", "?set=gallery&mc=category&ide=$ide" , "");
   $text.= "<center>".$com_nav."</center>"; 

---тутт еще голосования по фото идет ---

$text.= "<td class=galnosel onclick=\"location='?set=gallery&mc=view&ide=$ide&pg=$page&pict=".$q[3]."'\" onmouseover=\"this.className='galsel';showWMTT('$i');\" onmouseout=\"this.className='galnosel';hideWMTT();\" valign=top width=30% height=150 align=center>
           <div ><img border=1 src=gallery/thumb_small/".$q[1]."></div>

---тут про количество комментариев ---

if ($mc == "view" && isset($pict))
{
 if (!isset($page)){$page = "1";}else{$page = $page;}
 $gl = file("files/gallery.set");
 for($i=0;$i<count($gl);$i++)
 {
   $z = explode("<>", $gl[$i]);
   if($z[3] == $pict) { $pic[] = $gl[$i]; }
 }
 for($a=0;$a<count($pic);$a++){ $q = explode("<>", $pic[$a]); }
 $text.= "<center><a href='javascript:history.back();'>Назад</a></center><hr>";
 $text.= "<center><img  src=gallery/thumb_big/".$q[1]."></center>";



По моему это то про что вы спрашивали, я могу закинуть весь скрипт если надо

   
 
 автор: cheops   (17.12.2005 в 13:21)   письмо автору
 
   для: Коляка   (17.12.2005 в 02:14)
 

Не очень понятно как выводятся большие фото... я так понимаю это начинается с блока
<?php
if ($mc == "view" && isset($pict))
?>

Откуда берутся параметры $mc и $pict что они обозначают?

   
 
 автор: Коляка   (17.12.2005 в 22:16)   письмо автору
 
   для: cheops   (17.12.2005 в 13:21)
 

Да с этого начинается

$mc = $_GET['mc']; находиться в index (главный индекс),откуда берется 'mc' не могу понять, означает действие например переход в категории $mc == category, просмотр фото $mc == view .... и все это находиться в одном файле разбито на блоки... так начинается один из них ...

<?php 
if ($mc == "view" && isset($pict)) 
?>

$pict = $_GET['pict']; находится в главном файле галереи index,откуда берется 'pict' тоже не знаю, означает по моему имя фото ( ya.jpg ... )

   
 
 автор: Коляка   (19.12.2005 в 12:37)   письмо автору
 
   для: Коляка   (14.12.2005 в 13:23)
 

Тему можно закрывать ... Спасибо ...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования