X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Смена изображений с закрепленной ссылкой
kiki
kiki
Topic Starter сообщение 10.5.2015, 1:03; Ответить: kiki
Сообщение #1


Участник
***

Группа: User
Сообщений: 146
Регистрация: 17.7.2012
Поблагодарили: 31 раз
Репутация:   5  


Всем доброго времени суток!
Хочу сделать блок, в котором изображения будут меняться, загружаясь из определенной папки. К каждому изображению должна быть закреплена ссылка на соответствующую страничку. При этом изображения в эту папку загружаются методом POST, и в таблице каждому изображению присваивается определенная ссылка и id.
Внимание вопрос: Как будет выглядеть скрипт, который выгрузит этот массив из базы так, чтобы изображения менялись, при этом менялись и ссылки, соответствующие другим изображениям?


Вот наброски кода:

CODE
<?

include ("../manage/connect.php");

?>


<script type="text/javascript">



<?
$getslideurl = mysql_query("SELECT * FROM slideshow order by id") or die(mysql_error());
while($slideshow = mysql_fetch_array($getslideurl))
{

$slideurl = $slideshow['slideurl'];
$slideway = $slideshow['slideway'];

}

$images = $slideway;
$folder = 'slideshow/';
$array_to_js='var imgs=[';
$all_files = scandir($folder);
for ($i=2; $i<=sizeof($all_files)-1; $i++) {
$array_to_js.='"'.$folder.$all_files[$i].'",';
}
echo substr($array_to_js,0,-1).'];';
?>

var n=0;
var time=800;
play=setInterval("chgImg()", 7000);

function chgImg() {
$('#slide_show').fadeOut(time, function() {
$(this).attr('src', imgs[n]).fadeIn(time);
});

n++;
if (n>=imgs.length) n=0;
}
</script>





<?
$getslideurl = mysql_query("SELECT * FROM slideshow order by id") or die(mysql_error());
while($slideshow = mysql_fetch_array($getslideurl))
{

$slideurl = $slideshow['slideurl'];
$slideway = 'slideshow/'.$slideshow['slideway'];

}
?>
<div align="center" style="min-height:200px;">
<a href="<? echo $slideurl; ?>" id="slideurl"><img src="<? echo $slideway; ?>" alt="" id="slide_show"></a>
</div>


Сообщение отредактировал kiki - 10.5.2015, 1:15


--------------------
Куплю сайты с доходом!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 10.5.2015, 9:16; Ответить: x64
Сообщение #2


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3426
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2749 раз
Репутация:   289  


Цитата(kiki @ 10.5.2015, 0:03) *
изображения в эту папку загружаются методом POST

Разве это важно? Хоть по FTP или SSH.

1. дважды используется перебор всей таблицы:
Код
$getslideurl = mysql_query("SELECT * FROM slideshow order by id")


2. что ждёте от кода:
Код
while($slideshow = mysql_fetch_array($getslideurl)) {
    $slideurl = $slideshow['slideurl'];
    $slideway = $slideshow['slideway'];
}

? Этот момент непонятен совсем, т. е. вообще. Устраивается перебор всех картинок, на каждом шаге переменным $slideurl и $slideway присваивается очередное значение. Нетрудно догадаться, что на выходе они будут содержать данные из последней записи в таблице.

В данном контексте код абсолютно идентичен:
Код
$getslideurl = mysql_query("SELECT `slideurl`, `slideway` FROM slideshow ORDER BY id DESC") or die(mysql_error());
if ($slideshow = mysql_fetch_assoc($getslideurl)) {
    $slideurl = $slideshow['slideurl'];
    $slideway = $slideshow['slideway'];
}


На фоне этого ещё происходит создание js-списка imgs, в который добавляются файлы, сканированием директории. Для чего это делается, если
Цитата(kiki @ 10.5.2015, 0:03) *
в таблице каждому изображению присваивается определенная ссылка и id

Имя файла тоже добавляется? В таком случае отпадает нужность в сканировании папки с изображениями и можно сформировать список хешей, в виде:
Код
var imgs = [
    {name:'имя.файла', url:'ссылка'},
    {name:'имя.файла2', url:'ссылка2'},
    ...
];

и немножко подрихтовать функцию chgImg(): менять не только картинку, но и ссылку.


Вообще, данную задачу выгоднее решить с конца: сначала ручками сформировать js-список и заставить крутиться его, после чего программно (на PHP) произвести формирование похожего кода.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) как правильно написать альт и тайтл для изображений
0 galaker 376 13.12.2017, 22:50
автор: galaker
Открытая тема (нет новых ответов) Размещу Вашу статью с ссылкой на сайте с Тиц 50 навсегда
11 vyacheslav333 1344 9.12.2017, 22:16
автор: Мамай
Открытая тема (нет новых ответов) Размещу вашу статью с ссылкой на юридическом форуме
Напишу или размещу вашу статью на форуме
0 nahalturu 450 21.11.2017, 21:40
автор: nahalturu
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыСмена урлов у существующего сайта
Как повлияло на позиции удаление .html
9 SeoKot 1506 20.11.2017, 13:53
автор: RMak
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыСмена домена
7 July82 855 8.11.2017, 0:18
автор: nahalturu


 



RSS Текстовая версия Сейчас: 15.12.2017, 22:04
Дизайн