[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: при клике на маленькую картинку отображать большую
quickxyan

<?php
session_start();

if (!isset($_SESSION['flag'])) $_SESSION['flag'] = 0;
?>

<?php

$rez = 1;
$title = 'Title';
$keys = file('file.txt');
$keys = array_map('trim', $keys);
$cnt = count($keys);

if ($rez == 1)
{
if($_SESSION['flag'] == 0)
{
shuffle($keys);
$_SESSION['keys'] = $keys;
$_SESSION['flag'] = 1;
}
}

else
{
$_SESSION['keys'] = $keys;
$_SESSION['flag'] = 0;
}
$keys = $_SESSION['keys'];
//print_r($keys);

$fotka = (int)$_GET['get1'];
if (!isset($_GET['get1'])) $fotka = 0;
$key = $keys[$fotka];

if ($fotka == 0)
$keywords = 15; //количество элементов на вывод 1 страница
else
$keywords = 9; //количество элементов на вывод остальные страницы

echo 'keywords = '.$keywords.'<br>';
//сколько ключей выводить?
?>


<?

echo '--------------------------------------------------<br>';
?>

<?

//торгожоп

//Вывод ссылок страниц//

$page = $cnt - 1;
for ($i = 0; $i < $page; $i++)
{
$j = $i + 1;
if ($j != $fotka)
echo '<a href="form1.php?get1='.$j.'">'.$j.'</a> | ';
else echo $j.' | ';
}
echo '<br>';
//////////////////////

//Вывод большой фотки//
if ($fotka != 0)
{
echo '<br><img src ="photo/'.$keys[$fotka]++.'.jpg" width = "200" height = "200"><br>';
//$fotka++;
}
else
echo '<br><img src ="photo/0.jpg" width = "200" height = "200"><br>';
////////////////////////

//Вывод маленьких фоток//
if($rez == 0)
{
for($o = $fotka; $o < $fotka+$keywords; $o++)
{
if($keys[$o] != '')
{
$a = $o + 1;
echo '<a href="form1.php?get1='.$a.'"><img src = "photo/'.$keys[$o].'.jpg" width = "50" height = "50"></a> ';
}
}

echo '<br>';
}
else
{
for($o = $fotka; $o < $fotka+$keywords; $o++)
{
if($keys[$o] != '')
{
$a = $o + 1;
echo '<a href="form1.php?get1='.$a.'"><img src = "photo/'.$keys[$o].'.jpg" width = "50" height = "50"></a> ';
}
}

echo '<br>';

}
////////////////////////

?>



проблема в самом конце где последний елс. как при клике на эту картинку сделать, что бы отображалась эта же картинка, но больше. т.е. как узнать её порядковый номер и желательно без JS.

уже запутался так, что не могу сам понять что и куда. помогите плиз



Спустя 7 минут, 46 секунд (21.02.2011 - 21:51) Renden написал(а):
quickxyan
Не по теме, но спрошу, а почему ты базу не используешь для хранения тех же уникальных значений картинки, и например её названия\пути, да и вывод из базы куда проще?
Увеличение картинки (или галерею) делай на jquery ИМХО избавит тебя от многих проблем, все красиво + ajax не грузит твой сайт))

Спустя 7 минут, 9 секунд (21.02.2011 - 21:59) quickxyan написал(а):
скажу, так - это не мой скрипт и потому такая структура. так что впринципе почти ничего поделать немогу(

Спустя 33 минуты, 32 секунды (21.02.2011 - 22:32) nugle написал(а):
как ты собираешься без js, но действие по клику?
А делается это довольно просто


<script type="javascript/text">
function click(){
var img = getElementById('img');
img.style.width('400');
img.style.heigth('400');

}
</script>
else
echo '<br><img src ="photo/0.jpg" width = "200" height = "200" id="img" onclick="click()"><br>';

Спустя 6 минут, 22 секунды (21.02.2011 - 22:38) quickxyan написал(а):
понимаю, что глупо без яваскриптов. но пятой точной чую, что так как у меня есть исходный перемешанный массив, то могу как-то подсчитать его порядковый номер тобишь имя.

хотя походу уже бредую)

спасибо за функцию яваскрипта

Спустя 20 минут, 16 секунд (21.02.2011 - 22:59) nugle написал(а):
всегда пожалуйста, но это впринципе не возможно без JS или других клиентских языков

Спустя 56 минут, 30 секунд (21.02.2011 - 23:55) ИНСИ написал(а):
nugle твой код увеличит лишь ту картинку, на которую нажмут ... поэтому я думаю id надо указать на большой фотке ...

Спустя 9 часов, 10 секунд (22.02.2011 - 08:55) nugle написал(а):
velbox
вначале читаем ТЗ
Цитата
при клике на эту картинку сделать, что бы отображалась эта же картинка, но больше.

Никто не говорил что её нужно потом привести в нормальное состояние biggrin.gif

Спустя 11 минут, 25 секунд (22.02.2011 - 09:07) ИНСИ написал(а):
nugle я могу ошибаться, но мне кажется что автору темы нужно, чтобы большая фотка показалась .... Потому что нет смысла увеличивать маленькую, так как теряется качество .... + присутствует большая фотка.

Спустя 3 минуты, 45 секунд (22.02.2011 - 09:11) nugle написал(а):
на своём сайте я сделал так, мне сделали очень качественные фотографии огромного размера, я просто их уменьшил и при клики в 2 раза увеличиваю, качество остается супер, так, что мы не знаем что нужно автору

Спустя 1 минута, 33 секунды (22.02.2011 - 09:12) alex12060 написал(а):
Если ты хочешь делать через массив внутри пхп, то используй аякс с передачей ид фотки. Далее, пиши код, который выловит ид, проверит ее в массиве и вернет большую фотку через, либо хэдер, либо так, ссылкой, где уже ее и обработаешь)

Спустя 1 минута, 35 секунд (22.02.2011 - 09:14) alex12060 написал(а):
Цитата
на своём сайте я сделал так, мне сделали очень качественные фотографии огромного размера, я просто их уменьшил и при клики в 2 раза увеличиваю, качество остается супер, так, что мы не знаем что нужно автору


Нееее, так не катит. У тебя, допустим, 20 фоток по 2 МБ весом, и я, зайду, и буду ждать пока загрузятся все эти фотки? Да и еще, если уменьшать фото 3424*2532 до половины, то будет ужасная пикселизация и вообще, будет ужас)

Спустя 2 минуты, 18 секунд (22.02.2011 - 09:16) ИНСИ написал(а):
alex12060 +1

Спустя 33 минуты, 29 секунд (22.02.2011 - 09:49) quickxyan написал(а):
всем спасибо за учистие. я вчера решил эту проблему. мне кажется что я закручено все это описал, но голова вчера была реально квадратная.

я немного переделал свой скрипт и потом уловил как сделать)

просто когда у меня был первый неперемешаный массив, то индекс соответствовал значению, а в перемешаном нет и тогда я при выводе большой картинки искал в перемешанном массиве мое значение и запоминал индекс. потом выводил)
вот сам код измененя:


//Вывод большой фотки//
if($rez == 0)
{

if ($fotka != 0)
{
--$fotka;
echo '<br><img src ="photo/'.$keys[$fotka].'.jpg" width = "200" height = "200"><br>';
//$fotka++;
}
else
echo '<br><img src ="photo/0.jpg" width = "200" height = "200"><br>';
////////////////////////

//Вывод маленьких фоток//
for($o = $fotka; $o < $fotka+$keywords; $o++)
{
$a = $o + 1;

if($keys[$a] != '')
{
echo '<a href="form1.php?get1='.$keys[$a].'"><img src = "photo/'.$keys[$a].'.jpg" width = "50" height = "50" ></a> ';

}
}

echo '<br>';
////////////////////////
}
else
{

if ($fotka != 0)
{
$fotka;
for($i = 0; $i < $cnt; $i++)
{
if ($keys[$i] == $fotka) $qaz = $i;
}
echo '<br><img src ="photo/'.$keys[$qaz].'.jpg" width = "200" height = "200"><br>';
//$fotka++;
}
else
echo '<br><img src ="photo/0.jpg" width = "200" height = "200"><br>';

for($o = $fotka; $o < $fotka+$keywords; $o++)
{
$a = $o + 1;

if($keys[$o] != '')
{
echo '<a href="form1.php?get1='.$keys[$o].'"><img src = "photo/'.$keys[$o].'.jpg" width = "50" height = "50" ></a> ';

}
}

echo '<br>';

}
?>


Спустя 24 минуты, 59 секунд (22.02.2011 - 10:14) nugle написал(а):
alex12060?
неа я просто большого размера фото уменьшил и они весят под 20 кб


_____________
печатаю со скоростью 320 минут в знак...

плюсуем карму не стесняемся
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.